[英]Check if string array elements have different values
檢查字符串數組(列表)的元素是否具有不同值的最優雅的方法是什么。
例如
string[] myArray = { "one", "one", "two"};
輸出:
假
例如
string[] myArray = { "one", "two", "three" };
輸出:
真正
myArray.Distinct().Count() == myArray.Length
怎么樣
string[] myArray = { "one", "two", "three" };
bool result = myArray.Length == myArray.Distinct().Count();
.Distinct()
從列表中刪除重復的值-因此您只需要比較初始數組和唯一數組中的項目數即可。
不使用Linq的另一種方法:
var test = new HashSet<string>();
foreach (var str in myArray)
{
if (test.Contains(str)) return false;
test.Add(str);
}
return true;
某些數據集可能會表現更好。
盡管不是很優雅,但這是我想到的第一件事。
string[] myArray = { "one", "one", "three" };
bool result = myArray.Length == new HashSet<string>(myArray).Count;
我有點晚了...我希望我不必指定<string>
部分...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.