我有一个例子,有一些字符串的列表。我想检查是否正好有 4 个项目以及项目 0 和项目 2 是否具有某些值。
但是当我写这段代码时...
var a = new List<string>();
if(a is ["aSdfüü", _, "1.1", _] test){
// do something
}
...它被编译为:
List<string> list = new List<string>();
if (list != null && list.Count == 4 && list[0] == "aSdfüü")
{
bool flag = list[2] == "1.1";
}
因此,字符串与“==”进行比较,我找不到像 StringComparison.OrdinalIgnoreCase 或类似的方法来指定 StringComparison。
是否有一种优雅的方式将列表模式匹配和特定字符串比较结合起来?
不幸的是,这是不可能的。