//查找相同字母组成的单词,排除相同的单词
string source = "opt,max,tpo,hi,tpo,hide,ih,pot";
string[] array1 = source.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
List<string> vResults = new List<string>();
foreach (string item in array1)
{
char[] chars = item.ToUpper().ToCharArray();
Array.Sort(chars);
string T = new string(chars);
bool exists = false;
for (int i = 0; i < vResults.Count; i++)
{
if (T + "=" == vResults[i].Substring(0, T.Length + 1))
{
vResults[i] += "," + item;
exists = true;
break;
}
}
if (!exists) vResults.Add(T + "=" + item);
}
foreach (string vResult in vResults)
{
if (vResult.IndexOf(',') > 0)
{
var same = string.Format(vResult.Substring(vResult.IndexOf('=') + 1));
string[] array2 = same.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
string[] array3= array2.Distinct().ToArray();//排除相同单词
Console.WriteLine(string.Join(",",array3));
}
else
{
Console.WriteLine(string.Format(vResult.Substring(vResult.IndexOf('=') + 1)));
}
}
Console.Read();