using System.Collections.Generic;
public static void Main()
string[] arrs = { "L0021_21.jpg", "L0029_29.jpg", "L0033_33.jpg",
"R0025_25.jpg", "R0029_29.jpg", "R0030_30.jpg",
"K0028_28.jpg", "K0029_29.jpg", "K0030_30.jpg"};
Console.WriteLine("原单数组:" + string.Join(" ", arrs));
Console.WriteLine("\t\n单数组转换后的结果:\t\n");
var result = arrs.GroupBy(p => p, new CustomEqualityComparer()).ToList();
foreach(var item in result)
string str = string.Join(" ", item);
Console.WriteLine("数组:" + str);
public class CustomEqualityComparer:IEqualityComparer<string>
#region IEqualityComparer<string> 成员
public bool Equals(string x, string y)
return Equals(x.ToArray().FirstOrDefault(), y.ToArray().FirstOrDefault());
public int GetHashCode(string obj)
return obj.ToArray().FirstOrDefault().GetHashCode();