如何在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));
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
将在列表中具有最高值。
谁能帮我解决我的这个问题? 我想在通过键盘插入的列表中找到最大值,如下所示:
这里可以通过数组来完成:
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));
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
将在列表中具有最高值。