簡體   English   中英

檢查字符串數組元素是否具有不同的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM