c# - 在 C# 中链接 bool

标签 c# .net

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/

相关文章:

c# - ListView 未使用 ObservableCollection 正确更新

c# - ASP.NET 中的 Windows 时区缩写

.net - Azure CLI - 'az webapp deployment source config-zip' 正在删除其他 webjobs

c# - 将 DLLImport 与包含空字符的输出 char[] 一起使用

.NET 测试命名约定

c# - 使用 openxml 创建折线图

c# - 使用反射的通用列表

c# - SelectMany 带有等待和结果排序

c# - 使用 C# 和 AutoIt 向 Flash 游戏发送消息

c# - 如何使用 ref struct 参数和未知返回类型调用内部方法