【发布时间】:2021-05-18 12:43:33
【问题描述】:
我有 C# 代码与下一个情况
2 个变量:double qty1 和 double qty2,它们经常接收 2 个不同的正数/负数。
然后有一个变量double currentResult接收 qty1 和 qty2 的总和(正/负数),并且 currentResult 每次 qty1 或 qty2 收到新数量时都会更改其值。 currentResult 的值没有存储在任何地方,不需要它,因为 currentResult 仅用于显示目的,所以它只是显示在屏幕上,作为实际信息显示并完成。直到现在我们都在讨论显示一个简单的求和结果,所以请不要把你的答案集中在这部分,因为这不是重要的部分。
好的,我需要的是从 currentResult 中获取 2 个变量值:
- currentResult 曾经拥有的所有数字中最大的正数 (
double maxResult),目前是最新的。 - currentResult 曾经拥有的所有数字中最小的负数 (
double minResult),目前是最新的。
让我们给出一个随机的快速示例:当程序启动时,假设 currentResult 显示的第一个结果是 7,然后是 -1,然后是 3,然后是 -8,然后是 10,然后是 -4, -11, 15... 并在收到新数据时不断更新当前值,则:
- I need **maxResult** first displays as its value the number 7, then the number 10 as new max number among all currentResult has had until now, then 15, and so on.
- I need **minResult** first displays as its value the number -1, then the number -8 as new min number among all currentResult has had until now, then -11 and so on.
目前,我不需要存储以前的 maxResult/minResult 值,只有它们当前(最后一个)Max/Min 值在屏幕上保持可见,直到到达任何新的 Max/Min 数字。
这里我使用“显示”这个词来直观地理解我需要什么作为最终结果,但我需要的主要是获取 maxResult 和 minResult 的必要代码,因为我还没有找到方法从变量中获取这 2 个值。
请注意这里我们不是在谈论一个预定义的数字列表,我们需要在其中找到最大和最小数字,不,这里我们需要根据单个变量 (currentResult) 的值得出结果,随着时间的推移使用它的数值。
【问题讨论】:
-
当您说“基于 1 个不断变化其值的单个变量”时,该变量是通过什么方式变化的?因为无论该变量如何更改,只需要检查存储的最小/最大值并根据需要进行更新。如果您显示代码,它将帮助您获得答案,minimal reproducible example 是最佳选择。
-
所以你想从一个列表中显示正在运行的最小值和最大值?你真的发现了一种奇怪的描述方式。
-
“实时”在这里没有实际意义。我猜你的意思是“立即”。 DotNet 没有“实时”属性或保证。
-
谢谢关于“基于 1 个经常改变其值的单个变量”我的意思是“双 currentResult”是一个从其他变量(正数/负数)接收总和值的变量,并且由于那些其他变量不断改变计算值,那么 currentResult 也会改变它的当前值,我没有包含代码因为这是关于简单的总和值,任何复杂关于“实时”它只是意味着 maxResult/minResult 做和立即显示当前的最大值/最小值,因为 currentResult 有一个符合条件的新值
标签: c# variables numbers max min