假设我有一个包含这样的单词的列表:
List<string> words = new List<string>{ "apple", "computer", "user", "AppLe", "USer", "photo", "USER" };
我希望生成一个这样的新列表:
List<string> newWords = new List<string>{ "apple", "computer", "user", "photo" };
如何清除所有多个单词的第一个列表(无论它们是如何写的)?
非常感谢,提前, 菲利普答案 0 :(得分:5)
像这样:
List<string> newWords = words.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
这样您就不会更改结果列表中的任何单词(例如,将它们设为小写)。
您还可以使用:StringComparer.CurrentCultureIgnoreCase
或StringComparer.InvariantCultureIgnoreCase
,具体取决于您的文化要求。
答案 1 :(得分:1)
List<string> words = new List<string> { "apple", "computer", "user", "AppLe", "USer", "photo", "USER" };
words = words.Select(x => x.ToLower()).Distinct().ToList();