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");
}
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方法来测试多个相等如上?
也许是一个AreEqual(params obj[])什么的?我有一个谷歌,但没有找到任何东西.
Avi*_* P. 10
可能的实施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]));
}
Run Code Online (Sandbox Code Playgroud)
这Skip(1)也不是绝对必要的.