class Program
{
static void Main(string[] args)
{
List<string> aList = new List<string>();
List<string> bList = new List<string>();
List<string> answerList = new List<string>();
aList.Add("and");
aList.Add("and");
aList.Add("AND");
aList.Add("And");
aList.Add("not");
aList.Add("noT");
bList.Add("NOt");
answerList = aList.Except(bList, StringComparer.InvariantCultureIgnoreCase).ToList();
foreach (var word in answerList)
{
Console.WriteLine(word);
}
}
上述程序的预期行为是删除 aList 中所有出现的“not”并返回 {and, and, AND, And}。似乎“StringComparer.InvariantCultureIgnoreCase”已经删除了单词“and”的所有重复项,并且在 answerList 中只返回了一次出现的 {and}。