我尝试了几种方法来从字符串数组中删除重复的元素,但是没有一种方法可以满足我的要求。这是2个字符串:
CNTY / 013121/261538 / Y / Y / Y / Y / Y / Y / Y / C / NOSPACE //
CNTY / 013121/261538 / Y / Y / Y / Y / Y / Y / C / NO SPACE //
当它们从数组a复制到数组b时,我只希望保留其中一个。没关系。
我尝试了IEnumerable,HashSet和Distinct。它们每个都返回两个字符串。 (我的一个错误重复了第二个字符串。很抱歉。要清楚,我希望比较忽略空白。)
IEnumerable<string> b = a.AsQueryable().Distinct(StringComparer.InvariantCulture);
HashSet<string> set = new HashSet<string>(a);
string[] b = new string[set.Count];
set.CopyTo(b);
string[] b = a.Distinct().ToArray();
答案 0 :(得分:1)
第一个元素与其他元素不相同,因此,区别将不会起作用,必须替换空格。
string[] a = { "CNTY/013121/261538/Y/Y/Y/Y/Y/Y/C/NOSPACE//", "CNTY/013121/261538/Y/Y/Y/Y/Y/Y/C/NO SPACE//", "CNTY/013121/261538/Y/Y/Y/Y/Y/Y/C/NO SPACE//" };
string[] b = a.Select(p => p.Replace(" ", "")).Distinct().ToArray(); //Replace
输出:
"CNTY/013121/261538/Y/Y/Y/Y/Y/Y/C/NOSPACE//",