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中所有「不」的事件並返回{和和AND,和}。看起來「StringComparer.InvariantCultureIgnoreCase」已經刪除了單詞「and」的所有重複項,並且在answerList中僅返回了一次{和}。linq的意外行爲除()方法
感謝您的詳細解釋。接受你的答案,因爲你已經完成了工作。 –