如何使用延迟执行创建一个linq查询,该查询返回列表中单词的不同3个字母前缀

时间:2016-10-14 17:58:36

标签: c# linq

我有一个包含50多个可变长度单词的列表。我需要获得一个IEnumerable列表,其中只包含每个单词中前3个字符的前3个字符,并且使用延迟执行返回不同的单个字符。我如何在c#6中使用linq做到这一点?

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

var words = new List<string> {...};
var newWords = words.Where(o = o.Length >= 3).Select(o => o.Substring(0, 3)).Distinct();

答案 1 :(得分:3)

IEnumerable<string> result = list.Where(x => x.Length >= 3).Select(x => x.Substring(0, 3)).Distinct();