zoukankan      html  css  js  c++  java
  • C#—.net开发首选编程语言—摘自《C#高级编程第10版》

            1、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#语言演变进化,也包括了函数式编程的理念。

            2、C# 6的新特性

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

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

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

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

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

                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);

                  }


           3、 .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可以编译为本地代码,得到更大的性能提升。

          4、编程应用方向

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

              需要注意:WPF应用程序需要完整的.Net Framework,UWP应用程序使用.Net Core时,还是需要Windows运行库,所以WPF和UWP应用程序仅在Windows上运行。

  • 相关阅读:
    MapReduce案例
    Hive学习笔记九
    大数据技术之Hive
    Hive学习笔记八
    Hive学习笔记七
    Hive学习笔记六
    大数据应用技术课程实践--选题与实践方案
    15.手写数字识别-小数据集
    14.深度学习-卷积
    13.垃圾邮件分类2
  • 原文地址:https://www.cnblogs.com/yxli2008/p/10880930.html
Copyright © 2011-2022 走看看