c# - 如何在 C# 中的 List<string> 上切换大小写

标签 c# nhibernate switch-statement

我想做一个switch caseList<string>在 C# 中。

假设我有以下列表:

var myList = new List<string>(new string[] { "Apple", "Pear" });

现在我想检查是 Apple 还是 Pear,然后做点什么。在 if statement它看起来像这样:

if (myList.Contains("Apple"))
   //do something
else if (myList.Contains("Pear"))
   //so some other thing
else
   //throw error

现在我怎样才能以干净的方式做到这一点 switch statement

最佳答案

偶然发现了这个,并没有真正看到有人回答他。 可以将此作为一个 switch 语句来执行,它是否“看起来”更好可以由用户决定。

var myList = new List<string> { "Apple", "Pear" };
switch (myList)
{
    case var _ when myList.Contains("Apple"):
        // do apple stuff
        break;
    case var _ when myList.Contains("Pear"):
        // do pear stuff
        break;
    default:
        throw new System.ArgumentException("Some error message", nameof(myList));
}

关于c# - 如何在 C# 中的 List<string> 上切换大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51280559/

相关文章:

c# - 当映射字段移动到基类时,NHibernate JOIN 映射失败

c# - WPF MVVM 中的 NHibernate session

PHP 使用数组中的值切换大小写

c# - 您网站上的多个 signalR 连接/集线器

c# - 如何使用 SMO(服务器管理对象)创建 ALTER 脚本而不是 CREATE 脚本

NHibernate 多对多,关联表上带有 bool 标志

R的switch语句不是一种特殊形式,因此它很慢吗?

javascript - 在 JavaScript 中使用 switch 语句性能运行函数

c# - .NET 3.5 C# 错误与 System.Timer System.ObjectDisposedException : Cannot access a disposed object

c# - 一次将代码部分锁定到一个入口