1: public static Dictionary<string, System.Collections.Generic.List<string>> GetAnagramEquivalents(System.Collections.Generic.List<string> InputArray)
2: {
3: Dictionary<string, System.Collections.Generic.List<string>> ReturnList = new Dictionary<string, System.Collections.Generic.List<string>>();
4: for (int x = 0; x < InputArray.Count; ++x)
5: {
6: char[] InputCharArray=InputArray[x].ToCharArray();
7: Array.Sort(InputCharArray);
8: string InputString = new string(InputCharArray);
9: if (ReturnList.ContainsKey(InputString))
10: {
11: ReturnList[InputString].Add(InputArray[x]);
12: }
13: else
14: {
15: ReturnList.Add(InputString, new System.Collections.Generic.List<string>());
16: ReturnList[InputString].Add(InputArray[x]);
17: }
18: }
19: return ReturnList;
20: }