Given the following simple example:
List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" };
CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer();
var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList();
It appears the CaseInsensitiveComparer is not actually being used to do a case-insensitive comparison.
In other words distinctList contains the same number of items as list. Instead I would expect, for example, "Three" and "three" be considered equal.
Am I missing something or is this an issue with the Distinct operator?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…