从字符串中获取前6个字符,这是不同的

NET*_*ion 2 c# linq string distinct

string[] arr = { "abcdefXXX872358", "abcdef200X8XXX58", "abcdef200X872359", "6T1XXXXXXXXXXXX11", "7AbcdeHA30XXX541", "7AbcdeHA30XXX691" };
Run Code Online (Sandbox Code Playgroud)

我怎样才能从上面得到不同的数字,前6个字符必须是不同的结果

abcdefXXX872358

6T1XXXXXXXXXXXX11

7AbcdeHA30XXX541

我尝试这样的事情

var dist = (from c in arr
            select c).Select(a => a.Substring(0, 5)).Distinct();
Run Code Online (Sandbox Code Playgroud)

这给了我前5个字符,但我想要整个字符串

Guf*_*ffa 6

对第一个字符进行分组,并获取每个组中的第一个字符串:

IEnumerable<string> firstInGroup =
   arr
   .GroupBy(s => s.Substring(0, 6))
   .Select(g => g.First());
Run Code Online (Sandbox Code Playgroud)