- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
//create the new object for cars
Cars s1 = new Cars("Toyota", 2005, 500000, "White", "good");//Car1 Ob
Cars s2 = new Cars("Honda", 2004, 550000, "Black", "fine");//Car2 Ob
Cars s3 = new Cars("Nissen", 2012, 490000, "Yellow", "best");//Car3 Ob
Cars s4 = new Cars("Suzuki", 2012, 390000, "Blue", "fine");//Car4 Ob
Cars s5 = new Cars("BMW", 2012, 1000000, "Green", "Good");//Car5 Ob
//Create list to add objects into the memory
List<Cars> list1 = new List<Cars>();
list1.Add(s1);list1.Add(s2);list1.Add(s3);list1.Add(s4);list1.Add(s5);
//cars info which has the lowest price
double lowest_price = 0;
foreach(Cars a in list1){
if(a.price <= lowest_price){
lowest_price = a.price;
Console.WriteLine(a.price);
}
}//end of loop
这是我试图打印出价格最低的汽车信息的代码。但是什么也没有打印出来。
最佳答案
使用 LINQ Min
扩展方法:
double lowest_price = list1.Min(car => car.price);
此外,您没有指定,但如果您的集合中没有汽车且 InvalidOperationException
指示“序列不包含任何元素”,这将失败。如果您可能没有车,快速更新可能是:
double lowest_price = list1.Any() ? list1.Min(car => car.price) : 0;
至于为什么您的当前 代码不打印任何内容,那是因为您的初始值为0
。没有汽车的值是负数(或小于0
)。如果您想继续使用现有循环,请将初始值更改为可能的最高值:
double lowest_price = Double.MaxValue;
foreach(Cars a in list1){
if(a.price <= lowest_price){
lowest_price = a.price;
Console.WriteLine(a.price);
}
}//end of loop
请注意,如果您的 list1
汽车是空的,那么这会产生额外的副作用,那么 lowest_price
的值将为 Double.MaxValue
。对于您现有的代码,这可能是也可能不是您关心的问题。
如果担心,需要在没有车的情况下返回0
,可以稍微调整一下:
double lowest_price;
if (list1.Any()){
lowest_price = Double.MaxValue;
foreach(Cars a in list1){
if(a.price <= lowest_price){
lowest_price = a.price;
Console.WriteLine(a.price);
}
}//end of loop
}
else{
lowest_price = 0;
}
关于c# - 如何从列表中找到最低值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658907/
非常基本的问题:如何找到随机矩阵中的最高值或最低值。我知道有可能说: a = find(A>0.5) 但我正在寻找的更像这样: A = rand(5,5) A = 0.9388 0.9498
我有这张表: BP1 BP2 ----------------------------- 140 80 153 8
我在这个网站上寻找与查找程序中最高/最低数据值有关的答案,但我发现的只是与数组有关的代码。我的代码中没有数组,因此我假设查找最高值或最低值的技术将以不同的方式执行。 如果您查看我的代码,您可以在输出的
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是一名优秀的程序员,十分优秀!