我有一个list<int>像10, 20, 30, 这样的值56。我还有一个局部变量int _marks = 30。
如何打印列表中小于 的值的值_marks?
您可以使用Where()fromSystem.Linq命名空间来过滤数组。它返回IEnumerable<int>对象。为了打印这个集合中的元素,我们可以使用List<T>.ForEach方法。它对 的每个元素执行指定的操作List<T>。如果是单个参数,您可以单独传递函数:
marks.Where(x => x < _marks).ToList().Foreach(Console.WriteLine);
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果您是新手,您也可以使用非 LINQ 解决方案:
foreach(int item in marks)
{
if(item < _marks)
Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)
另外,正如 @Kjartan 所说,如果列表是有序的,那么使用TakeWhile()或SkipWhile()函数来获取所需元素可能是一个不错的选择:
// If the list is ordered in ascending order
marks.TakeWhile(x => x < _marks).ToList().Foreach(Console.WriteLine);
// If the list is ordered in descending order
marks.SkipWhile(x => x >= _marks).ToList().Foreach(Console.WriteLine);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2902 次 |
| 最近记录: |