如何发现数组是否包含字符串两次



我想检查一个字符串数组是否包含多个字符串。

例如

string[] array = new string[]{"A1","A2","A3"};
string item = "A1";

查找数组中的item,只包含item一次,返回false

string[] array = new string[]{"A1","A2","A3","A1"};
string item = "A1";

还真

如果您想知道某项是否重复了不止一次,您可以获取该项的计数并检查它是否大于1:

bool isRepeated = array.Count(x => x == item) > 1;

或者,您可以更有效地使用HashSet:

bool isRepeated = false;
var set = new HashSet<int>();
foreach(var x in array)
{
    if(x == item && !set.Add(x)) 
    {
       isRepeated = true; 
       break;
    }
}

最新更新