C# 的9.0 语法 匹配模式 案例

   internal static void TestMatch()
        {
            #region Test1

            object[] objArr = { new Per() { Name = "1" }, new Person() { Name = "2" }, new Stuend(), new Account() { Name = "4" } };
            foreach (object obj in objArr)
            {
                string name = obj switch
                {
                    Account p when p.Name.Length > 0 => p.Name,
                    Person p => p.Name,
                    Stuend p => p.ToString(),
                    Per p => p.Name,
                    _ => string.Empty
                };
                Console.WriteLine(name);
            }

            #endregion
            foreach (object obj in objArr)
            {
                string nameStr = obj switch
                {
                    Person p=>p.Age switch
                    {
                        >100 =>"大于100",
                        <100 =>"小于100",
                        _ => "等于一百"
                    },
                    Account p =>p.Name,
                    _ => string.Empty
                };
                Console.WriteLine(nameStr);
            }
        }

用于 备忘 switch 模式配置的增强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

望天hous

你的鼓励是我最大动力~谢谢啦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值