我有一些变量,例如这些字符串:
string option1 ,option2, option3, option4;
价值未知。我似乎可以通过这种方式检查它们中没有两个是相同的(没有重复):
if(option1 !=option2 && option1 != option3 &&...)
//
但是如果我有很多变量那么我怎么能这样做就像上面那样难看呢?
答案 0 :(得分:4)
我可能会使用LINQ,这当然需要将它们放入集合中。
public static bool HasDuplicates<T>(params T[] arr)
{
return arr.Distinct().Count() != arr.Length;
}
当然,您可以这样称呼:
if(!HasDuplicates(option1 ,option2, option3, option4))
{
// Code
}
可能有一种更好的方式来进行比较,但这看起来很简单,如果没有别的话,这是一个很好的起点。
另外,我不确定你是否意味着你想确保option1
与其他任何人不相同,或者没有任何重复。我选择了更为复杂的后一种情况,但如果我猜错了,你可以轻松地使用Contains
运行类似的表达式。
答案 1 :(得分:0)
你可以得到另一个有区别的数组
int[] s = { 1, 2, 3, 3, 4};
int[] q = s.Distinct().ToArray();