C#—.net开发首选编程语言—摘自《C#高级编程第10版》

        一、C#编程语言
              1)C#是由微软公司开发团队设计出品,是一种安全的、稳定的、简单的、优雅的,彻底面向对象的编程语言,以其强大的操做能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程支持,成为.Net开发的首选编程语言。数据库

              2)C#在继承了C和C++语言强大功能的同时,去掉了它们的一些复杂特性;另外,C#综合了Visual Basic简单的可视化操做和C++的高运行效率。编程

              3)C#语言支持属性、事件、特性(注解)和构建程序(包括元数据的二进制文件)。
              4)C#支持泛型、语言集成查询(LINQ ,Langage Integrated Query)、async关键字Lambda表达式、动态特性和更简单的异步编程(如async、await关键字),随着C#语言演变进化,也包括了函数式编程的理念。安全

        二、C# 6的新特性框架

            1)静态的Using声明    using static System.Console;异步

            2)表达式体方法       public bool IsSquare(Rectangle rect) => rect.Height == rect.Width;   =>为Lambda操做符 async

            3)表达式体属性       public string FullName => Value + "Name:";编程语言

            4)自动实现的属性初始化器 public class Person{ public int Age {get;set;}=42;}分布式

            5)只读的自动属性               public BookId{get;}ide

            6)nameof运算符  模块化

 public void Method(object obj)
        {
            if (obj is null)
            {
                throw new ArgumentNullException(nameof(obj));
            }
        }

            7)空值传播运算符

                a)简化了空值检查:int?age=p?.p.Age;

                b)触发事件:handle?.Invoke(source,e);

             8)字符串插值 

                 删除了对String.Format的调用:public override ToString()=>$"{Title} {Publisher}";

            9)字典初始化器

                相似于集合初始化器  

              var dict=new Dictionary<int,string>()

             {

                  [3]="Three",

                  [7]="Seven"

             };

           10)异常过滤器

              try

              {

                        //etc

              }

              catch(MyException ex) when(ex.ErrorCode == 405)

              {

                        //etc

              }

等价于:

               try

              {

                        //etc

              }

              catch(MyException ex)

              {

                        if (ex.ErrorCode == 405) throw;

                        //etc

              }

           11)catch中await

              try

              {

                        //etc

              }

              catch(MyException ex) when(ex.ErrorCode == 405)

              {                 

                       await new MessageDialog().ShowAsync(ex.Message);

              }


       三、 .Net Framework &.Net Core

             1).Net Framework要求把开发过程当中使用的.Net 运行库版本安装到目标系统上;而.Net Core,框架(包括运行库)是与应用程序一块儿交付的,即便更新运行库,也不影响现有的应用程序。

             2).Net Framework随功能增长及版本更新,愈来愈大;而.Net Core是以模块化方法设计,将该框架分红数量众多的Nuget包,依据应用程序决定须要什么包。

             3)两者相互独立;同时.Net Core是开源的,能够快速更新和发布,且支持多个平台(win、Linux&Mac等)。
             4).Net Core能够编译为本地代码,获得更大的性能提高。

      四、编程应用方向

           编写Web页面、WPF应用程序、Rest Web服务、分布式应用程序的组件、数据库访问组件、传统的Windows桌面应用程序,以及能够联机/脱机运行的UWP程序。

          须要注意:WPF应用程序须要完整的.Net Framework,UWP应用程序使用.Net Core时,仍是须要Windows运行库,因此WPF和UWP应用程序仅在Windows上运行。

相关文章
相关标签/搜索