如何在C#中比较列表中的值

how to compare values inside a list with each other in c#

谁能帮我解决我的这个问题? 我想在通过键盘插入的列表中找到最大值,如下所示:

这里可以通过数组来完成:

        int[] values = new int[10];
        for (int i = 0; i < values.Length; i++)
        {
            values[i] = (int) (textbox.Text);
        }
        //to campare them
        int bigValue=0;
        for(int j=0;j<values.Lenght;j++)
        {
          if(bigValue<values[j])
           { 
             bigValue==values[j];
           } 
         }
        ////////////////////////////////

但在我的代码中,我必须使用 List 我已经填充了列表,但现在我不知道如何将其值相互比较以找到最小值和最大值:

        List<int> values= new List<int>();
        values.Add((int)(textbox.Text));

它已经内置了函数,Max and Min:

int maxValue = values.Max();
int minValue = values.Min();

您的 原始 函数也可以工作,将 Count 替换为 Length,因为索引也适用于列表。

使用 LINQ Min & Max 函数:-

int LowestNumber = values.Min();
int HighestNumber = values.Max();

如果你说你稍后还需要在你的程序中使用这个列表,我想你会发现只要把它排序就很有用。

values.Sort((value1, value2) => value1.CompareTo(value2));

使用此选项,minValue 将为值[0],尽管推荐的查找方法是使用他们已经提到的内置函数。

你可以这样说,它适用于任何 IEnumerable<int>,无论是 int[]List<int> 还是其他:

int? max = null ;
foreach( int value in someList )
{
  max = (max??value) > value : (max??value) ;
}

最后,如果列表为空,max 将是 null;否则 max 将在列表中具有最高值。