【发布时间】:2021-05-20 11:08:40
【问题描述】:
我有一个C#代码与下一种情况
2 个变量:double qty1 和 double qty2,它们经常接收 2 个不同的正数/负数。
然后有一个变量double currentResult接收 qty1 和 qty2 的总和(正/负数),并且 currentResult 每次 qty1 或 qty2 收到新数量时都会更改其值。 currentResult 的值没有存储在任何地方,不需要它,因为 currentResult 仅用于显示目的,所以它只是显示在屏幕上,作为实际信息显示并完成。直到现在我们都在讨论显示一个简单的求和结果,所以请不要把你的答案集中在这部分,因为这不是重要的部分。
好的,我需要的是从 currentResult 中获取 2 个值,这些值会随着新数据来自 qty1 和/或 qty2 而频繁更改:
- 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 的 5 或 n 个最后值之类的东西,但现在,我需要的主要是它们当前(最后一个)Max/Min 值在屏幕上保持可见,直到到达任何新的最大/最小数。
这里我使用“显示”这个词来直观地理解我需要什么作为最终结果,但我需要的主要是获取 maxResult 和 minResult 的必要代码,因为我还没有找到方法从这里描述的变量中获取这 2 个值。
请注意这里我们不是在谈论一个预定义的数字列表,我们需要在其中找到最大和最小数字,不,这里我们需要根据单个变量 (currentResult) 的值得出结果,随着时间的推移使用它的数值。
【问题讨论】:
-
每当
currentResult发生变化时,您应该将其值与maxResult进行比较,如果currentResult > maxResult则执行maxResult = currentResult。并将 currentResult 与 minResult 进行比较,如果currentResult < minResult然后minResult = currentResult -
感谢@ChetanRanpariya 的超快回复。我有一个非常非常短的编程背景。您能否编写代码部分来执行此操作?我不知道如何在代码中指定如何使用第一个
maxResult和第一个minResult进行初始化,因为它们都开始“空”,然后继续与下一个currentResultvalues 进行比较...我有关于它需要如何工作的基本逻辑,但我找不到将其转换为代码的方法。
标签: c# variables numbers max min