C#如何找出数组是否包含两次字符串

时间:2014-07-28 14:23:48

标签: c# arrays string include equals

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

例如

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

在数组中查找项目,仅包含项目一次返回false

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

返回true

非常感谢任何见解。

1 个答案:

答案 0 :(得分:1)

如果您想知道某个特定项目是否重复多次,您可以获取该项目的计数并检查它是否大于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;
    }
}