int a, b, c, d, e;
a = b = c = d = e = 1;

if ((a==b) && (b==c) && (c==d) && (d==e))
{
    Console.WriteLine("that syntax is horrible");
}


有没有更优雅的方法来测试上述多重相等性?

也许是AreEqual(params obj[])之类的?我有一个谷歌,但没有找到任何东西。

最佳答案

AreEqual(params object[] objects)的可能实现:

(按照Jon Skeet的建议,这是通用版本)

bool AreEqual<T>(params T[] objects)
{
    if (objects.Length <= 1) return true;
    return objects.Skip(1).All(x => x.Equals(objects[0]));
}


Skip(1)也不是必须的。

关于c# - C#中的链接 bool ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2019779/

10-13 06:48