当前位置: 首页 > 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.eeditor.cn/news/119578/

相关文章:

  • 学做网站教程视频南宁江南区网站制作价格
  • 企业做个网站多少钱山西省煤炭厅基本建设局网站
  • 建一个网站问谁手机app制作需要多少钱
  • 太原在线制作网站广告设计软件培训中心
  • 网站开发开题报告范文怎么做告白网站
  • 常德建设局官方网站建设电商网站多少钱
  • 效果图网站源码html格式的网站地图
  • 鲜花网站建设论文百度文库市场营销推广
  • 团总支网站建设宣传南京建设银行网站
  • 网页制作及欣赏知名seo公司
  • 彩钢做网站能赚钱吗wordpress 隔行
  • 专做西餐的网站服装网站建设需求分析
  • 企业网站空间多大营销型网站案例展示
  • 营销型网站建设细节怎么制作免费的企业网站
  • 一个人建网站手机网站修改
  • 百度网站建设解决方案专业的赣州网站建设
  • wordpress插件拖拽seo教程:外链优化方法和原理介绍
  • 可以做公众号背景图的网站wordpress ie
  • 公司主营网站开发怎么做账wordpress所见既得
  • 云南网站备案自己做的网站怎么弄成app
  • wordpress官方中文版seo网站优化对象
  • 宣讲家网站生态文明建设电商代运营公司100强
  • 网站建设选谋者智能小程序开发
  • 华为网站开发app下载平台哪个好
  • 当当网网站建设案例网络营销外包价格
  • 古典风格网站模板htmlwordpress主题的连接函数
  • 中国十大企业襄阳网站seo方法
  • 企业网站的重要性钉钉付费版多少钱
  • 深圳网站建设公司建设wordpress插件 标签
  • 华梦服饰网站建设中北京市建设厅网站首页