而不是

if (foo == "1" || foo == "5" || foo == "9" ... ) 

我喜欢将它们结合起来,类似于以下内容(这不起作用):

if (foo == ("1" || "5" || "9" ... ))

这有可能吗?

推荐答案

不幸的是,你最好的 Select 是创建一个扩展方法

public static bool IsOneOf<T>(this T value, params T[] options)
{
    return options.Contains(value);
}

您可以这样使用它:

if (foo.IsOneOf("1", "5", "9"))
{
    ...
}

由于是泛型,它可以用于任何类型(int、string等).

.net相关问答推荐

EGC / 文本元素上的 .NET String.Split

部署时如何控制红隼端口?

在 C# 中将字节数组保存为磁盘上的文件的最有效方法是什么?

ICommand MVVM 实现

RNGCryptoServiceProvider 的优缺点

我应该从 .NET 中的 Exception 或 ApplicationException 派生自定义异常吗?

如何判断一个类型是否是简单类型?即持有一个单一的价值

序列化私有成员数据

使用只读属性或方法?

我应该在 LINQ 查询中使用两个where子句还是&&?

向 .NET 应用程序添加脚本功能

是否有可用的 WPF 备忘单?

如何在 C# 中将 null 值设置为 int?

dotnet 恢复警告 NU1701

如何将 WebResponse.GetResponseStream 返回转换为字符串?

使用 XmlDocument 读取 XML 属性

资源(.resx)文件有什么好处?

如何正确和完全关闭/重置 TcpClient 连接?

如何使用通用扩展方法中的字符串列名在 IQueryable 上应用 OrderBy?

.NET 图形库?