林克查询未按预期工作
本文关键字:工作 查询 林克 | 更新日期: 2023-09-27 18:25:13
string[] words = { "apple", "banana", "mango", "or", "pas", "grae" };
var result1 = words.TakeWhile((word, index) => index > word.Length ).ToList();
我正在学习 Linq,我正在尝试获取索引比单词长度更严重的所有单词。
由于某种原因,我得到了空列表。 或、PAS、GRAE 的索引大于长度。但我没有得到结果。我错过了什么?
您正在寻找Where()
- TakeWhile()
将在谓词第一次计算为 false 时停止迭代(顾名思义(,这是第一个单词的情况,因此您得到了一个空列表。
var result1 = words.Where((word, index) => index > word.Length)
.ToList();
尝试使用
var result1 = words.Where((word, index) => index > word.Length ).ToList();
相反。
TakeWhile 将在条件为 true 时从列表中选择元素。
我认为您可以从这里的 101 个 Linq 示例中学习基本技能:
http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b/viewsamplepack