我的代码在数组中有一个 for 循环,并且有 if 语句,如果没有匹配项,我只想得到一个答案。
for (int i = 0; i < arr.Length; i++)
{
if (arr[i].GetSomeValue() >= 1 && i].GetSomeValue() <= 5)
Console.WriteLine(arr[i]);
else
Console.WriteLine("No data");
}
但是,我得到这些:
No data
No data
No data
No data
如果没有匹配项,我只想要一个“无数据”。
我尝试添加
else break;
}
Console.WriteLine("No data");
但这不起作用。
我怎样才能得到我想要的东西?
基于 linq 的替代方案:
using System.Linq;
...
var withinSpecs = arr.Where(e => e.GetSomeValue() >= 1 && e.GetSomeValue() < 5).ToArray();
if(withinSpecs.Length == 0)
{
Console.WriteLine("No data");
}
else
{
foreach(var element in withinSpecs)
Console.WriteLine(element);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)