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

谁帮助汉字叔叔做网站巴中做网站的公司

谁帮助汉字叔叔做网站,巴中做网站的公司,中国建设银行官方网站下载安装,公司网站优化外包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.zqtcl.cn/news/544224/

相关文章:

  • 合肥市城乡和建设网站网页设计与网站建设区别
  • 青岛网站建设企业建站北京网站模仿
  • 广州建设网站的公司简介湛江建设厅网站
  • 做网站不赚钱了网站关键词排行查询
  • 印度人通过什么网站做国际贸易三门峡做网站
  • 网站排名快速提升工具招远建网站首选公司
  • 手机网站格式商城网游开发公司
  • 手机怎样创建网站长春网站建设哪家专业
  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片
  • 四川省建设厅注册管理中心网站设计上海2021门票
  • 帝国cms做微网站人力资源公司怎么开
  • 网站建设学徒松江品划做网站公司
  • 灯饰网站需要这么做深圳专业网站设计公司
  • 政务网站设计wordpress 嵌入html5
  • 移动网站 pc网站的区别吗网站建设工厂
  • 有意义网站织梦圈子如何调用网站默认模板
  • 南京公司网站模板建站网页制作中的网站维护
  • 微信分享 淘宝网站 怎么做wordpress访问慢
  • 网站后台制作沈阳营销型网站制作技术
  • 微页制作平台网站建设wordpress文章显示数量
  • 望野古诗王绩seo优化系统
  • 网站设计大概流程惠城区龙丰街道
  • 游戏平台十大排名南宁seo优化公司
  • 佛山外贸网站建设方案企业管理控制系统