我是C#的新手,我正在努力学习这门语言.
你能不能给我一个提示,我可以比较一个数组与从中选择最低值的数值?
喜欢:
Double[] w = { 1000, 2000, 3000, 4000, 5000 };
double min = double.MaxValue;
double max = double.MinValue;
foreach (double value in w)
{
if (value < min)
min = value;
if (value > max)
max = value;
}
Console.WriteLine(" min:", min);
Run Code Online (Sandbox Code Playgroud)
给我最低的价值w,我现在该怎么比较?
如果我有:
int p = 1001 + 2000; // 3001
Run Code Online (Sandbox Code Playgroud)
我现在如何与数组列表进行比较,发现(3000)值是我的"Searchvalue"的最接近的值?
Fel*_* K. 13
你可以用一些简单的数学来做到这一点,并且有不同的方法.
Double searchValue = ...;
Double nearest = w.Select(p => new { Value = p, Difference = Math.Abs(p - searchValue) })
.OrderBy(p => p.Difference)
.First().Value;
Run Code Online (Sandbox Code Playgroud)
Double[] w = { 1000, 2000, 3000, 4000, 5000 };
Double searchValue = 3001;
Double currentNearest = w[0];
Double currentDifference = Math.Abs(currentNearest - searchValue);
for (int i = 1; i < w.Length; i++)
{
Double diff = Math.Abs(w[i] - searchValue);
if (diff < currentDifference)
{
currentDifference = diff;
currentNearest = w[i];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6643 次 |
| 最近记录: |