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

新加坡域名注册网站虚拟机做的网站怎么让外网访问

新加坡域名注册网站,虚拟机做的网站怎么让外网访问,品牌设计公司排名品牌形象广告,网站seo公司哪家好目录 本文分两篇#xff0c;进阶篇点击#xff1a;C#基础与进阶扩展合集-进阶篇 一、基础入门 Ⅰ 关键字 Ⅱ 特性 Ⅲ 常见异常 Ⅳ 基础扩展 1、哈希表 2、扩展方法 3、自定义集合与索引器 4、迭代器与分部类 5、yield return 6、注册表 7、不安全代码 8、方法… 目录 本文分两篇进阶篇点击C#基础与进阶扩展合集-进阶篇 一、基础入门 Ⅰ 关键字 Ⅱ 特性 Ⅲ 常见异常 Ⅳ 基础扩展 1、哈希表  2、扩展方法 3、自定义集合与索引器 4、迭代器与分部类 5、yield return 6、注册表 7、不安全代码 8、方法描述  二、扩展类型 1、BigInteger 2、Half 3、Decimal 4、可空值类型 5、可空引用类型 6、空合并 7、转义字符 8、StringBuilder 9、FormattableString  10、元组  三、其它 1、名称空间取别名 2、字符串前$与 3、预处理器指令 4、隐藏方法 5、显示和隐式实现接口 6、泛型约束 7、字典初始化方式 8、集Set 9、有序集合 10、只读字段与属性  本文分两篇进阶篇点击C#基础与进阶扩展合集-进阶篇 一、基础入门 Ⅰ 关键字 1、record  record记录编译器会在后台创建一个类。支持类似于结构的值定义但被实现为一个类方便创建不可变类型成员在初始化后不能再被改变 C#9新增 在运行时通过构造函数给成员赋值 2、init  init关键字代替setC#9新增 特性只能通过构造函数和对象初始化器来设置属性值 public string Name { get; init; } 若用旧的.NET框架版本使用.NET 5代码需手动添加虚拟类如下 namespace System.Runtime.CompilerServices {      internal static class IsExternalInit { } } 3、with  with关键字C#9新增内部调用Clone浅copy方法使用如下  MyMath myMath2myMath1 with { };//浅拷贝 4、base  base关键字 作用1子类实例化时默认调用父类的无参构造函数base可指定调用父类对应的有参构造函数 作用2在子类中通过base调用父类被子类重写的虚方法 5、params params修饰方法参数 1、被修饰的参数必须为一维数组 2、被修饰参数为最后参数后面不允许有其它参数 6、ref、out、in 1、被ref或out或in修饰的参数通过引用方式传递 2、传参时也必须带关键字refout、in 3、ref修饰的参数传参时必须提前定义并初始化out可在传参时定义 4、out修饰的参数必须在控制离开方法之前对该参数赋值 5、in修饰的值类型参数方法内为只读变量可避免复制值的开销 7、sealed sealed有封装的意思一般用于修饰类或方法 1、修饰类时该类不可被继承 2、修饰方法时一般用于virtual与抽象方法的继承类sealed一般与override同时存在被修饰的已重写的方法不可被其派生类重写。 8、lock lock 确保代码正常执行不会被其他线程中断将代码定义为互斥段同一时刻只能由一个线程执行其他线程必须等待解决多线程同时抢占同一资源产生的冲突问题 示例如下         _root指需要跟踪的对象通常实例化一个object作为跟踪对象         {   _list.Clear()   }指定义为互斥段的代码块  lock(_obj){Count--;} 9、readonly readonly用于修饰字段为只读字段  1、在运行时可通过构造函数赋值 10、checked、unchecked 1、如果将一个代码块标记为checkedCLR就会对该代码块执行溢出检查溢出会抛出OverflowException异常也可在表达式中使用checked关键字         2、也可在配置项目文件中添加CheckForOverflowUnderflow设置可对所有未标记的代码进行溢出检查如CheckForOverflowUnderflowtrue/CheckForOverflowUnderflow,可使用unchecked关键字来标记不进行溢出检查 checked {byte a 255;a (byte)(a 3); } 11、throw 抛出一个异常 throw new Exception(my exception...); 12、as与is as用于检查在兼容引用类型之间的转换不会抛出异常若不兼容则返回null通常需对返回对象进行null判断         注意①as不用在类型间的转换会报错                    ②as不能用在值类型数据会报错 is用于检查对象是否与给定类型兼容可强制转换成给定类型通常用于强制转换之前的检查不兼容类型间强制转换会抛出异常这样的写法通常CLR会进行两次类型的检查会降低性能若满足as用法尽量用as转换 Ⅱ 特性 特性指C#中对类及程序集成员的进一步描述 更多了解点击C#进阶-特性   常用如下 [Key]指示该属性为主键(仅对属性、字段、索引器有效) [StringLength(maximumLength:50,MinimumLength 2)]限制字符串长度仅对属性、字段、参数、索引器有效 [EmailAddress]识别邮箱格式仅对属性、字段、参数、索引器有效 [Required]不可为空仅对属性、字段、参数、索引器有效 [Display(Name电话号码)]显示别名[CallerMemberName]获取调用该方法的成员名仅对参数有效[CallerFilePath]获取调用该方法的文件路径仅对参数有效[CallerLineNumber]获取调用该方法的行数仅对参数有效[Compare(“Password”, ErrorMessage “”)]比较两个属性的值是否相同[DataType(DataType.Password)]标记某属性为密码类型 Ⅲ 常见异常 ArgumentException方法接受实参时检查实参未包含期望的值抛出其派生有ArgumentNullException空异常和ArgumentOutOfRangeException索引超出范围NotSupportedException当不支持一个方法时抛出StackOverflowException当为栈分配的内存满了导致溢出时抛出OverflowException在checked关键字中有介绍上下文中执行算术运算当得到的值超出变量类型的取值范围时抛出IOException基类文件I/O导致的异常其派生有FileLoadException、FileNotFoundException、EndOfStreamException、DriveNotFoundException。。。InvalidOperationException当没有按正确顺序调用类的方法(如缺少初始化调用)时抛出TaskCanceledException当任务取消或超时的时候抛出NullReferenceException当使用的 null 引用导致需要引用的对象时抛出 更多异常详解微软文档Exception-C# Ⅳ 基础扩展 1、哈希表  了解哈希表C#-关于Hashtable  2、扩展方法 扩展方法详解C#-扩展方法定义及其使用 3、自定义集合与索引器 自定义集合与索引器详解C#-自定义集合与索引器 4、迭代器与分部类 迭代器与分部类详解C#-关于迭代器与分部类  5、yield return yield示例详解C#-yield return实现数据迭代  6、注册表 了解注册表相关操作C#-注册表的读取、创建、修改、删除操作 7、不安全代码 了解指针不安全代码 C#-关于指针使用不安全代码 8、方法描述  对自定义方法添加描述C#-方法的功能、参数、返回值描述  二、扩展类型 1、BigInteger 如果需要的数字比64位的long类型能够表示的值更大则可使用BigInteger类型该类型无关键字无位数限制可以一直增长下去直到没有可用内存。 BigInteger bigInteger 111111111111111111; 2、Half .NET5新增16位单精度浮点数无关键字其有效位数为10位指数位为5位 注意硬编码的一个非整数值1.92171一般默认为double类型需强转 Half half (Half)1.92171; 3、Decimal 关键字decimal.NET高精度浮点类型128位1位符号位、96位用作整数剩下的位指定了比例因子。 注意要把数字指定为该类型在其数字后面加上字符M或m decimal deci 11111.11M; 4、可空值类型 ①在类型定义中使用“?”这将允许赋值null如int? a null; ②编译器会将该语句变成NullableT类型如Nullableint anull; ③NullableT不会增加引用类型的开销仍然是struct值类型只不过添加了一个布尔标志用来指定值是否为null ④总是可把不可为空的值赋值给可空值类型 5、可空引用类型 ①主要为了减少NullReferenceException类型的异常可启用可空引用类型获得编译器的帮助1、在项目文件中指定Nullable将其设为enable如Nullableenable/Nullable         2、使用预处理器指令启用#nullable enable禁用#nullable disable恢复项目文件中设置#nullable restore ②启用后给引用类型赋值string c null编译器会报警告若要赋值null需加上“?”如string? c null; 6、空合并 string? snull; string s2 s?.ToLower()??string.Format();//使用null条件运算符和空合并运算符 Console.WriteLine($\t{s2}\t{{}}); 7、转义字符 转义序列字符\单引号\双引号\\反斜杠\0空\a警告\b退格\f换页\n换行\r回车\t水平制表符\v垂直制表符 8、StringBuilder StringBuilder sb new StringBuilder(111111);//动态字符串默认容量16字符成倍增加 sb.Append(abcdefghjklmnopq); Console.WriteLine(sb.Length);//获取有效长度 Console.WriteLine(sb.Capacity);//获取容量 9、FormattableString  FormattableString str $time{t},number:{a};//格式化字符串类型 Console.WriteLine(格式str:{0},str.Format);//获取格式化字符串的原始字符串 for (int i 0; i str.ArgumentCount; i) {     Console.WriteLine(Arg{0}:{1}, i, str.GetArgument(i));//获取参数值 } 10、元组  元组把多个类型合为一个类型不需要创建类、结构、记录             var t(String:sss,Int32: 32);             t.Int32 2;             t.String Auston; .Net提供了TupleT旧类型                   ValueTupleT新类型推荐有更好的内置支持 三、其它 1、名称空间取别名 主要用于解决名称空间二义性问题  using Sys System;Sys.Console.WriteLine(Hello, Auston!); 2、字符串前$与 字符串插值字符串前带$前缀允许在字符串类计算表达式 verbatim字符串字符串前带前缀解决反斜杠转义问题常用于文件路径 string a hello; Console.WriteLine($a:{a}); Console.WriteLine(\file\a.txt); 3、预处理器指令 #define定义符号#undef删除符号定义#if、#elif、#else、#endif条件语句支持部分逻辑运算符#warning、#error编译器遇到后会报错或警告并显示后面文本#region、#endregion将一段代码视为给定名称的一个块#line用于改变编译器在警告和错误中显示的文件名和行号信息如#line 123 Test.cs#pragma抑制disable或还原restore指定的编译警告#nullable启用enable或禁用disable可空引用类型 4、隐藏方法 在基类和派生类中存在签名相同的方法且无virtual与override修饰时派生类就会隐藏基类方法 要隐藏方法可在方法声明中加new关键字修饰否则编译器会警告大多数情况下应重写方法而不是隐藏方法隐藏方法会造成对于给定类的实例调用错误方法的危险 可在派生类中使用base调用基类方法 Pig pig new(); pig.Hobby(); pig.BaseHobby();class Animal {public void Hobby() Console.WriteLine(Like run...); } class Pig : Animal {new public void Hobby() Console.WriteLine(Like eat...);public void BaseHobby() base.Hobby(); } 5、显示和隐式实现接口 隐式实现接口示例 MyLog myLog new MyLog(); myLog.Log(this is a log!); interface ILogger {void Log(string message); }class MyLog : ILogger {public void Log(string message) Console.WriteLine(message); } 显示实现接口被实现成员没有访问修饰符并且方法前带有接口前缀 对于显示实现接口使用MyLog类型变量时不能访问该接口因为它是非公有的只有使用接口类型可调用Log方法 使用显示实现接口原因①为了解决不同接口相同签名方法的冲突②向类外的代码隐藏接口方法但仍满足接口契约 示例如下 ILogger myLog new MyLog(); myLog.Log(this is a log!); interface ILogger {void Log(string message); }class MyLog : ILogger {void ILogger.Log(string message) Console.WriteLine(message); } 6、泛型约束 约束说明where T : struct使用结构约束时T必须为值类型where T : class使用类约束时T必须为引用类型where T : class?T必须是可空的或者不可为空的引用类型where T : notnullT必须是不可为空的类型可为值类型或引用类型where T : unmanagedT必须是不可为空的非托管类型where T : IFoo类型T必须实现接口IFoowhere T : Foo类型T必须派生自基类Foowhere T : new()构造函数约束指定T必须有无参构造函数。不能为有参构造函数指定约束where T1 : T2使用约束时可指定类型T1派生自泛型类型T2 7、字典初始化方式 Dictionaryint, string dic new Dictionaryint, string() { { 1, 111 }, { 2, bbb } }; Dictionaryint, string dic2 new Dictionaryint, string() { [1] 111, [2] aaa }; Console.WriteLine({0}\t{1}, dic[1], dic2[1]); 8、集Set 包含不重复的元素的集合称为“集set” .NET Core包含两个集他们都实现ISetT接口 ①HashSetT包含不重复元素的无序散列表 ②SortedSetT包含不重复元素的有序列表 集的提供另一个Add方法其返回类型为bool值说明是否添加了元素若该元素已存在就不添加并返回false HashSetint set new HashSetint() { 2, 1, 7, 0, 1, 2 }; foreach (int i in set)Console.Write(${i} );//输出2 1 7 0 SortedSetint set2 new SortedSetint() { 2, 1, 7, 0, 1, 2 }; foreach (int i in set2)Console.Write(${i} );//输出0 1 2 7 9、有序集合 有序集合包括有序集、有序列表、有序字典功能几乎完全相同但其性能有很大差异有序列表使用的内存少有序字典的元素检索速度快。  10、只读字段与属性  只读字段readonly修饰的字段 在运行时通过构造函数赋值 只读属性set被private修饰使用属性初始化或在构造函数里初始化如下 public int Id { get; } 23;
http://www.dnsts.com.cn/news/67642.html

相关文章:

  • ps软件下载要多少钱一个公司多个网站做优化
  • 山东省建设厅官方网站怎么样百度推广助手
  • 一个空间做两个网站的视频教程简约的网站设计界面
  • 网站建设速成如果做微商需不需要开个网站。
  • 自己做的音乐网站侵权问题网站建设筹备方案
  • 平面设计网站排行榜沈阳开发网站的地方
  • wordpress还原安装windows清理优化大师
  • 包河网站建设所有做运动的网站
  • 一级做c爱片的网站个人网站备案可以填几个域名
  • 微网站建设教程html网页设计代码作业网站
  • 城市建设投资公司网站高端网站建设 选择磐石网络
  • 网站用什么域名html网页制作自我介绍
  • 网站左侧导航设计如何用微信分享wordpress
  • 网站怎么做区域性优化无忧seo博客
  • 黑别人网站中国刚刚发生的新闻
  • 怎么用网站后台做轮播图简约好看的ppt模板免费下载
  • 深圳建筑室内设计网站做网站生意不赚钱
  • 将网页加入可信站点曲阜做网站
  • 匠人精神网站建设个人如何注册网站
  • 提供网站制作公司哪家好wordpress博客站搭建
  • 网站ipv6建设wp企业网站模板
  • 建设公共资源交易中心网站国外外贸网站大全
  • 深圳专业商城网站如何创建网站
  • 建设个人网站可以卖产品吗百度网页版首页
  • 无版权的图片素材网站网页在线代理浏览
  • 网站页面怎么做wordpress好友添加
  • 如何先做网站再绑定域名建设银行网站怎么短信转账
  • 网站app封装怎么做湛江企业网站
  • 怎么样关闭网站wordpress 强制更新
  • 摄影作品网站app十大排名包装设计说明模板