此开关和大小写标签中括号的作用是什么?

问题描述 投票:2回答:1

我正在为项目服务编写函数,如果用户请求使用特定名称的所有项目,它将全部返回。例如所有属于iPhone X的手机等。

我获得了使其中一个功能起作用的帮助,如果有多个项目,则将全部返回(这是第三种情况:]

var itemsList = items.ToList();

switch (itemsList.Count())
            {
                case 0:
                    throw new Exception("No items with that model");

                case 1:
                    return itemsList;

                case { } n when n > 1:
                    return itemsList;

            }

             return null;

让我感到困惑的是“ {}”是干什么的?有人告诉我这是“作为说明类型的附属场所”,我不确定它们的含义。

它也如何工作?我不确定“ n”是什么意思。

非常感谢您的帮助!

进度:在跟进了助手之后,我现在知道{}与var类似。但是我仍然不确定为什么只在这里使用它。

c# entity-framework-core repository-pattern unit-of-work
1个回答
0
投票

这是pattern matching中出现的C#8功能。 { }匹配任何非空值。 n用于声明将保留匹配值的变量。这是来自MSDN的示例。

© www.soinside.com 2019 - 2024. All rights reserved.