• 语法糖


    甜1  List<Student> Students = new List<Student>()
                {
                 new Student(){ Num="001", Name="John"},//使用对象初始值设定项初始化对象,代替构造函数
                 new Student(){ Num="002", Name="Marry"},
                 new Student(){ Num="003", Name="John"}
                };//使用集合初始值设定项初始化集合,不用重复调用Add方法

    甜2 Lamda表达式:它是升级版的匿名方法,其作用是简化匿名方法的写法。写法(形参列表)=>{函数体}

    delegate(Student student) { return student.Name == "John"; }这个匿名方法为例,我们的参数就只有student一个,形参我们就使用s代替。

      Lamda表达式就是 s=>s.Name=="John"。

     

     var John = Students.FindAll(s => s.Name == "John");//使用var声明匿名类型,其实John是个List<Student>
                John.ForEach(j => Console.WriteLine(j));//使用Lamda表达式
                Console.ReadKey();
    foreach (var student in Students.FindAll(delegate(Student student) { return student.Name == "John"; }))//使用匿名方法完成FindStudent类的功能 { Console.WriteLine(student); }

    甜3
    private string _myName;
    public string MyName
    {
        get { return _myName; }
        set { _myName = value; }
    }
    public string MyName { get; set; }
     
    甜4
    foreach (string item in list)
    {
         Console.WriteLine(item);
    }
    list.ForEach(a => Console.WriteLine(a));

    甜5

    StreamWriter sw = null;
    try
    {
        sw = new StreamWriter("d:\abc.txt");
        sw.WriteLine("test");
    }
    finally {
        if(sw!= null) sw.Dispose();
    }

    using (var sw = new StreamWriter("d:\abc.txt")) {
        sw.WriteLine("test");
    }
     
     
    甜6
    var writer = new StreamWriter(path);
    1
    for(var i=0;i<100;i++){}

     

     

    甜7.  问号的演变

    老掉牙的一个问号+冒号

    var b = 3;
    var a = b > 9?b.ToString():”0”+b;
    新添加两个问号 ??,它表示左边的变量如果为null则值为右边的变量,否则就是左边的变量值
    string a = null;
    var b = a??””;
     
     
    附加

    1. event:监听者模式;

    2. delegate:类,编译器会生成一个新类,为防止类泛滥,可用预定义的Action系列;结合event可实现监听者模式;Java中可用interface结合监听array简单实现;

      3.C#中的@符号的使用及注意事项。

         (1)字符串中的用法
         字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。@只能对字符串常量作用。
           1>.用于文件路径
           以下是引用片段:string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";
           相当于
           以下是引用片段:string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";

          2>.用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。
          以下是引用片段:
          string s_MultiRows = @"Line1 
          Line2 
           Line3"; 
           string s_JavaScript = @" "; 

      (2) 标识符中的用法
          在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。
         如
         以下是引用片段:
         class @class 
         { 
           public static void @static(bool @bool) { 
           if (@bool) 
                System.Console.WriteLine("true"); 
           else 
                 System.Console.WriteLine("false"); 
           } 
         } 
        class Class1 
        { 
           static void M() { 
             clu0061ss.stu0061tic(true); 
           } 
        } 

     

     

     

  • 相关阅读:
    在JavaWeb中使用Log4j步骤
    关于我为什么不再更新博客园了
    windows termial 配置文件
    windows10 命令行修复系统引导
    vscode修改code runner插件默认使用的编译器
    windows下vscode修复c++找不到头文件
    windows下安装mingw-w64
    vscode美化方法以及定制主题插件
    windows下隐藏磁盘分区
    2018 icpc 徐州网络赛 F Features Track
  • 原文地址:https://www.cnblogs.com/aggierwyp/p/programSugar.html
Copyright © 2020-2023  润新知