前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF C#便捷语法

WPF C#便捷语法

作者头像
码客说
发布2023-03-06 15:52:42
3330
发布2023-03-06 15:52:42
举报
文章被收录于专栏:码客码客

前言

C#从语言上来说还是比较好用的,有一些别的语言没有的但是很好用的语法这里推荐一下。

判断非空并取值

传统写法

代码语言:javascript
复制
if (resultVo != null && resultVo.code == 0){}

推荐写法(is 模式表达式)

代码语言:javascript
复制
if (resultVo is { code: 0 }){}

示例2

代码语言:javascript
复制
if (((Button)sender).Tag is ZRecordModel recordModel){}

out 变量

以前,需要将 out 变量的声明、使用为两个不同的语句,如下所示:

代码语言:javascript
复制
int numericResult;
if (int.TryParse(input, out numericResult))
    WriteLine(numericResult);
else
    WriteLine("Could not parse input");

现在,可将前面两行合并为一行表示:

代码语言:javascript
复制
if (int.TryParse(input, out int result))
    WriteLine(result);
else
    WriteLine("Could not parse input");

匿名类

代码语言:javascript
复制
var Aemployee=new {
  JoinDate="2012-09-23",
  aPeople=new {pName="张三",pAge=26,pSex="男"}
};

匿名方法

代码语言:javascript
复制
//匿名方法只使用一次
ChangeUserPwd(listUser, delegate(User u) {
  Console.WriteLine(u.Name+"的新密码是:"+u.Password);
});
//使用Lambda表达式
ChangeUserPwd(listUser, u=>
              {
                Console.WriteLine(u.Name + "的新密码是:" + u.Password);
              });

case when

代码语言:javascript
复制
class Person
{
  public int grade { get; set; }
  public string name { get; set; }
  public string level { get; set; }
}

IList<Person> persons= new List<Person>()
{
  new Person{ grade = 50, name = "A_People", level = "None" },
  new Person{ grade = 70, name = "B_People", level = "None" },
  new Person{ grade = 91, name = "C_People", level = "None" }
};

foreach (Person p in persons)
{
  switch (p)
  {
    case Person obj when obj.grade < 60:
      {
        obj.level = "不及格";
        break;
      }
    case Person obj when obj.grade > 60 && obj.grade <= 70:
      {
        obj.level = "及格";
        break;
      }
    case Person obj when obj.grade > 60 && obj.grade <= 70:
      {
        obj.level = "良好";
        break;
      }
    case Person obj when obj.grade >= 90:
      {
        obj.level = "优秀";
        break;
      }
    default:
      {
        Person.level = "None";
        break;
      }
  }
  Console.WriteLine($"{p.name} 成绩:{p.level}");
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 判断非空并取值
  • out 变量
  • 匿名类
  • 匿名方法
  • case when
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档