题
假设我有这个数组:MyArray(0)=“ AAA” MyArray(1)=“ BBB” MyArray(2)=“ AAA”
是否有一个 .net 函数可以给我唯一的值?我想要这样的东西作为函数的输出:outputarray(0)=“ AAA” outputarray(1)=“ bbb”
解决方案
假设您有 .Net 3.5/LINQ:
string[] OutputArray = MyArray.Distinct().ToArray();
其他提示
解决方案可能是使用 LINQ,如以下示例所示:
int[] test = { 1, 2, 1, 3, 3, 4, 5 };
var res = (from t in test select t).Distinct<int>();
foreach (var i in res)
{
Console.WriteLine(i);
}
这将打印预期的内容:
1
2
3
4
5
您可以使用字典通过键添加它们,并且在添加它们时检查该键是否已存在。
string[] myarray = new string[] { "aaa", "bbb", "aaa" };
Dictionary mydict = new Dictionary();
foreach (string s in myarray) {
if (!mydict.ContainsKey(s)) mydict.Add(s, s);
}
使用 .NET 3.5 中包含的 HashSet 类。
不隶属于 StackOverflow