当前位置: 首页 > news >正文

大连网站在哪备案东莞网站建设工作

大连网站在哪备案,东莞网站建设工作,来必力wordpress,网站空间上传教程C#是一种通用的#xff0c;类型安全的面向对象编程语言。其目标是提高程序员生产力。 一.面向对象 C#实现了丰富的面向对象范式#xff0c;包括封装、继承、多态。 C#面向对象特性包括#xff1a; 统一的类型系统 类与接口 属性、方法、事件 C#支持纯函数模式 二、类型安…C#是一种通用的类型安全的面向对象编程语言。其目标是提高程序员生产力。 一.面向对象 C#实现了丰富的面向对象范式包括封装、继承、多态。 C#面向对象特性包括 统一的类型系统 类与接口 属性、方法、事件 C#支持纯函数模式 二、类型安全性 C#是一门类型安全的语言。例如C#不允许将字符串类型作为整数类型处理。 C#支持类型静态化。能够在程序运行前排除大量错误。 C#允许使用dynamic关键字动态定义指定类型。然而C#在大多情况下仍然是一门静态语言。 C#还是一门强类型语言。 三、内存管理 C#依靠运行时来实现自动内存管理。公共语言运行时的垃圾回收器会作为程序的一部分运行。 C#并未抛弃指针关键字unsafe的程序块显式内存分配。 四、平台支持 Linux、macOS、iOS、Android 五、CLR 公共语言运行时Common Language Runtime,CLR,如自动化内存管理和异常处理。 C#也会将代码编译为托管代码。托管代码以中间语言Intermediate LanguageIL的形式表示。CRL通常会在执行前将IL转换为机器如x84、x64原生代码称为即时Just-In-Time编译。 六、.NET Framework .NET Framework是由CLR和大量的程序库组成。 七、其他框架 UWP .Net Core ASP.NET Core Xamarin 八、简史 8.1C# 7.0新特性 8.1.1 数字字面的改进 下划线改善可读性 int million 1_000_000;二进制字面量使用Ob前缀来标识 int a 0b1001_0000; var b 0b1001_0000;8.1.2 输出变量及参数忽略 调用含有out参数的方法将更加容易 bool successful int.TryParse(123, out int result); Console.WriteLine(result);当调用含有多个out参数方法时可以使用下划线字符_忽略你并不关心的参数 方法 static void SimpleMethod(out int result,out int result2 ,out int result3) {result 1 1;result2 2 2;result3 3 3; }调用 SimpleMethod(out _, out _, out int result2);8.1.3 模式 is运算符也可以自然的引入变量称为模式变量 方法 static void SimpleMethod2(object x) {if(x is string s){Console.WriteLine(s.Length);} }调用 SimpleMethod2(大家好呀);同样 switch语句也同样支持模式。可以使用when子句来判断条件或是直接选择null; 方法 static void SimpleMethod3(object? x){switch(x){case int i:Console.WriteLine(It is an int); break;case string s:Console.WriteLine(s.Length);break;case bool b when b true :Console.WriteLine(True);break;case null:Console.WriteLine(It is null);break;}}调用 SimpleMethod3(12); SimpleMethod3(12); SimpleMethod3(true); SimpleMethod3(null);8.1.4 局部方法 局部方法是声明在其他函数内部的方法 static void WriteCubes() {Console.WriteLine(Cubu(3));Console.WriteLine(Cubu(4));Console.WriteLine(Cubu(5));int Cubu(int value) value * value * value; }8.1.5 更多的表达式体成员 C#6引入了以”胖箭头“语法表示的表达式的方法只读属性、运算符以及索引器。而C#7更将其扩展到了构造函数、读/写属性和终结器中 类 public class Person : IAsyncDisposable{string? name;public Person(string? name) Name name;public string? Name{get name;set name value ?? ;}public ValueTask DisposeAsync(){Console.WriteLine(Dispose);return ValueTask.CompletedTask;}}方法 static async void PersonDispose(){await AsyncPersonDispose();}static async Task AsyncPersonDispose(){await using (Person p new Person(小米)){Console.WriteLine(p.Name);}}8.1.6 解构器 C#7引入了结构器模式。构造器一般接受一系列作为参数并将其赋值给字段而结构器则正相反它将字段反向赋值给变量。 类 public class Dog{string? name;public Dog(string? name) Name name;public string? Name{get name;set name value ?? ;}public void Deconstruct(out string firstName,out string lastName){int spacePos name.IndexOf( );firstName name.Substring(0, spacePos);lastName name.Substring(spacePos 1);}}调用 var joe new Dog(joe Bloggs); var(first,last)joe; Console.WriteLine(first); Console.WriteLine(last);8.1.7 元组 C# 7 改进当属显示的元组tuple支持元组提供了一系列相关值的简单方式 var bob (Bob, 23); Console.WriteLine(bob.Item1); Console.WriteLine(bob.Item2);C#的新元组实质上是使用了System.ValueTuple…泛型结构的语法糖。 我们还可以对元组的元素命名 var tuple (Name: Bob, Age: 23); Console.WriteLine(tuple.Name); Console.WriteLine(tuple.Age);有了元组函数再也不用通过一系列out参数来返回多个值了 static (int row, int colum) GetFilePosition() (3, 10); var pos GetFilePosition(); Console.WriteLine(pos.row); Console.WriteLine(pos.colum);元组隐式的支持解构模式 (int row,int column) GetFilePosition(); Console.WriteLine(row); Console.WriteLine(column);8.1.7 thow表达式 现在它可以出现在表达式体函数中 public string Foo() throw new NotImplementedException();thow表达式也可以出现在三无判断运行符中 方法 static string Capotalize(string? value) value null ? throw new ArgumentException(Value) :value ? :char.ToUpper(value[0]) value.Substring(1);调用 Console.WriteLine(Capotalize(null)); 8.2 C# 6.0新特性 null条件“Elvis”运算符可以避免在调用方法或访问类型的成员之前显式地编写用于null判断的语句。如下result将会为null而不会抛出NullReferenceException: System.Text.StringBuilder sb null; string result sb?.ToString();lambda表达式 public int TimesTwo(int x) x * 2; public string someProperty Property value;属性初始化器可以对自动属性进行初始赋值 public DateTime TimeCreated { get; set; } DateTime.Now;这种初始化也支持只读属性 public DateTime TimeCreated { get; } DateTime.Now;只读属性也可以在构造器中赋值。 索引初始化器可以一次性初始化具有索引器的任意类型 var dict new Dictionaryint, string() {[3] three,[20] ten };字符串插值用更加简单的方式替代了string.Format: string s $It is {DateTime.Now}; Console.WriteLine(s);异常过滤器可以在catch上再加一个条件 string html; try {html new WebClient().DownloadString(http://asef); } catch(WebException ex) when(ex.Status WebExceptionStatus.Timeout) {}using static 指令可以引入一个类型的所有静态成员这样就可以不用写类型而直接使用这些成员 using static System.Console; WriteLine(Hello world);nameof运算符返回变量、类型或者其他符号的名称这样可以避免变量重命名造成不一致的代码 int capacity 123; string x nameof(capacity); Console.WriteLine(x);值得一提的是C# 6.0可以在catch和finally块中使用 await. 8.3 C# 5.0新特性 async和await,支持异步功能有利于编写高并发和高效的I/O密集型应用程序。 8.4 C# 4.0新特性 1.动态绑定 2.可选参数和命名参数 3.用泛型接口和委托实现类型变化 4.改进COM互操作性 8.5 C# 3.0新特性 隐式局部变量、匿名类型、对象构造器、lambda表达式、扩展方法、查询表达式、表达式数。 8.5 C# 2.0新特性 泛型、可空类型、匿名方法、分部类、静态类
http://www.hkea.cn/news/14481831/

相关文章:

  • 金融类网站源码甘德网站建设
  • phpcms 下载网站模板湖北网站科技建设项目
  • 网站开发项目答辩主持词wordpress微信公众号企业版
  • 网站制作 公司资质上海微网站制作建设
  • 学校怎么创建网站浙江建设厅网站施工员报名
  • 网站建设方案书的内容管理制度wordpress用户名怎么起
  • 网站共用数据库百度搜索引擎优化相关性评价
  • 有什么发布做投标报价的网站集团品牌网站建设
  • 当前主流的网站开发语言学室内装修设计需要什么条件
  • 做鞋的垂直网站如何设置wordpress的文章分类
  • 泉州网站建设方案服务网站一般用什么软件做
  • 禹城市建设局网站山西建设机械网站
  • 漳浦网站建设wordpress 优化数据
  • 国外网站模板企业网站优化是什么
  • 学校网站建设市场分析网站制作方案要点
  • php网站开发机试题目3d效果图软件
  • 网站维护方式html网页设计网站
  • 做电影网站解决版权问题软件开发工程师工作条件
  • phpcms做汽车网站山东建筑公司实力排名
  • 在门户网站管理建设工作讲话单一产品网站如何做seo
  • 直播是网站怎么做承德网站建设作用
  • 达州网站建设公司公司做网站 微信平台
  • 前端 网站开发 常见功能实现90设计网素材下载
  • 专业的营销型网站公司西安讯展信息科技有限公司
  • 怎么制作网站一键更新企业网站源码带后台管理
  • 西安网站到首页排名wordpress exif
  • 烟台房产网站建设企业形象vi设计包括哪些
  • 网站开发维护公司经营范围遵义建设厅官方网站 元丰
  • 建立网站可以赚钱吗手游推广渠道平台
  • 儒枫网网站建设wordpress后台路径