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

邯郸市住房和建设官方网站计算机网页设计实训报告

邯郸市住房和建设官方网站,计算机网页设计实训报告,站酷网图片,酒店设计公司排名C#8.0本质论第三章–更多数据类型 3.1类型的划分 一个类型要么是值类型#xff0c;要么是引用类型。区别在于拷贝方式#xff1a;值类型数据总是拷贝值#xff1b;引用类型的数据总是拷贝引用。 3.1.1值类型 3.1.2引用类型 引用类型的变量存储对数据存储位置的引用。 3.…C#8.0本质论第三章–更多数据类型 3.1类型的划分 一个类型要么是值类型要么是引用类型。区别在于拷贝方式值类型数据总是拷贝值引用类型的数据总是拷贝引用。 3.1.1值类型 3.1.2引用类型 引用类型的变量存储对数据存储位置的引用。 3.2将变量声明为可空 null值对于数据库编程来说尤为重要因为很多数据库都允许字段的值为null可以使用可空修饰符将类型声明为允许或不允许空值 3.2.1对null值引用类型变量进行解引用 判断一个变量的值是否为null可以用is操作符虽然也可以用但由于等于操作符可能被重写并实现不同的行为因此判断null最好使用is操作符。 在C#6.0中引入的用于处理null值的操作符交“null值条件(null condition)”操作符该操作先判断一个变量是否为null再对其解引用。 //先判断text变量是否为空为空则赋值为null否则读取length值 int? length text?.length;3.2.2可空值类型 技术上讲一个用可空修饰符声明的值类型变量仍然是值类型而不会变成引用类型因此对一个被赋值为null的值类型变量进行解引用时大部分情况下不会发生null值异常因为值类型的方法和属性都是基于模板类Nullable实现的 3.2.3可空引用类型 在C#8.0中声明任何类型的变量时默认都为不可空为了确保兼容旧代码C#默认情况不支持引用类型的可空特性。想要启用此特性需要使用**#nullable语句**或在项目属性配置中启用该特性。 3.3隐式类型的局部变量 C#3.0新增了上下文关键字var来声明隐式类型的局部变量在声明时初始化。(类似于C11中的auto在编译时确定类型) C#3.0新增var的真正目的是支持匿名类型匿名类型是在方法内部动态声明的数据类型 var patent1 new {Title Bifocals,YearOfPublic 1784}; System.Console.WriteLine(${patent1.Title} {patent1.YearOfPublic});自从C#7.0引入元组语法后匿名类型几乎就用不着了。 3.4元组 C#7.0提供了元组(tuple)元组允许在一条语句中完成对所有变量的赋值 (string country, string capital, double gdpPerCapita) (Burundi, Bujumbura, 263.67);详细见书本。 3.5数组 new关键字和对应的类型在声明时可选数组可以不提供初始值这样每一项都被初始化成默认值不提供初始值就必须指定数组大小大小可以是运行时计算的变量(其实就是C里new一个数组)。指定的数组大小必须和大括号里的元素数量匹配(与C不同C里可以缺少后面缺少的就初始化为默认值)。 从C#3.0起可以不指定数据类型。 3.5.1数组的声明 string[] language;方括号指定了数组的**秩(rank)**或者说维数与C不同数组声明的括号紧跟在类型之后这样所有的类型信息都在一起。 某一维上的元素数量不是变量声明的一部分。(比如C里声明 int a[10]; 带着大小但是C#不同声明的类型是不带大小的为什么呢我认为是因为C#里的数组赋值其实是动态分配它是引用类型数据存放在堆里类似于C里的 int* anew int[n] ,而int a[10];是放在栈里的编译的时候就要确定大小了)。 3.5.2数组实例化和赋值 数组声明之后如果还想赋值就需要使用new关键字 string[] language; language new string[]{C#,C,Lua};C#以类似的方式处理多维数组 int[,] cells new int[3,3]; int[,] cell {{1,2,3},{1,2,3},{1,2,3} };数组包含三个int[]类型的元素每个一维大小必须完全一样多维数组也称为“矩形数组”。 还可以定义交错数组(jagged array)也就是由数组构成的数组。要求为内部每个数组都创建数组实例。 int[][] cells {new int[]{1,2,3},new int[]{4,5},new int[]{6,} };3.5.3数组的使用 从C#8.0开始可以使用相对于末尾元素的索引来访问数组该操作需要用到反向索引操作符(index from end operator)有时也称作操作符或者帽子操作符索引1代表数组最后一个元素索引^0代表最后一个元素的下一个位置。CLR能防住所有C#代码越界。 Length返回数组中元素的总数如果是多维数组比如大小是2x3x3那么Length会返回元素总数18对于交错数组Length只作用于外部数组会返回2。 C#8.0提供了一个新的访问方法数组切片用**区间操作符…**表示 string[] languages new [] {C#, COBOL, Java,C, TypeScript, Swift,Python, Lisp, JavaScript};Console.WriteLine($ 0..3: {string.Join(, , languages[0..3]) // C#, COBOL, Java }); Console.WriteLine($^3..^0: {string.Join(, , languages[^3..^0]) // Python, Lisp, JavaScript }); Console.WriteLine($ 3..^3: {string.Join(, , languages[3..^3]) // C, TypeScript, Swift }); Console.WriteLine($ ..^6: {string.Join(, , languages[..^6]) // C#, COBOL, Java }); Console.WriteLine($ 6..: {string.Join(, , languages[6..]) // Python, Lisp, JavaScript }); Console.WriteLine($ ..: {// C#, COBOL, Java, C, TypeScript, Swift, Python, Lisp, JavaScriptstring.Join(, , languages[..]) // Python, Lisp, JavaScript }); Console.WriteLine($ ..: {// C#, COBOL, Java, C, TypeScript, Swift, Python, Lisp, JavaScriptstring.Join(, , languages[0..^0]) // Python, Lisp, JavaScript });在.NET/C#中索引和区间是一等类型它们的引用不局限于访问数组。索引不是个单纯的整数而是一种类型(我试了下需要C#8.0) System.Index index ^42;System.Index有两个属性一个名为Value类型为int另一个名为IsFromEnd类型为bool。此外用于表示区间的类型为System.Range。在这两个类型的帮助下可以设计自己的集合类。 更多数组方法Sort(),BinarySearch(),Reverse(),Clear() 使用BinarySearch()时如果不存在会返回负值可应用~index返回比目标元素大的第一个元素的索引。 Cleart()方法不删除数组元素只是将每个元素都设为其默认值。 获取特定维的长度不是用Length属性而是用数组的GetLength()实例方法。 创建数组的拷贝可以用Clone()方法。 3.5.4字符串作为数组使用 可以使用ToCharArray()方法将整个字符串作为字符数组返回。 一个元素的索引。 Cleart()方法不删除数组元素只是将每个元素都设为其默认值。 获取特定维的长度不是用Length属性而是用数组的GetLength()实例方法。 创建数组的拷贝可以用Clone()方法。 3.5.4字符串作为数组使用 可以使用ToCharArray()方法将整个字符串作为字符数组返回。
http://www.ho-use.cn/article/10820578.html

相关文章:

  • 服装 东莞网站建设WordPress文章摘要如何设置
  • 企智网络网站建设公司怎么利用网站做淘宝客
  • 网站怎么做分类聚合网站建设咨询有客诚信
  • 校园门户网站系统建设方案汕尾网站seo
  • 企业营销系统和网站建设wordpress首页文件
  • 做运营必看的网站视频网站应该怎么做
  • 怎么查网站是哪个建站公司做的外贸推广平台
  • iis7.5搭建网站Wordpress使用ldap
  • 找别人做网站房地产销售好做吗
  • 新建门户网站的建设自查郑州网站定制
  • 网站怎么吸引用户成都微信小程序开发
  • dedecms织梦和wordpress网站seo快速排名优化
  • 写小说的网站自己做封面做网站遇上麻烦客
  • 网站内容描述官方查企业信息的网站
  • 网站设计标杆企业零基础学习做网站
  • 泰州做网站淘宝长沙百度网站排名优化
  • 学校学院网站建设目标专业旅游网站建设
  • 安庆市网站建设公司百度开店怎么收费
  • 企业网站建设中在方案设计上深圳宝安区区号
  • 惠州网站建设设计北流网站建设制作
  • 诸暨做网站虚拟主机装wordpress
  • 贵阳企业自助建站系统成都企业网站制作
  • 网站seo和sem是什么意思建设网站的平台
  • 开网站建设公司心得wordpress获取用户昵称
  • 什么网站的页面好看酒水包装设计公司
  • 专业网站建设在哪里大连高新园区教育局
  • 网站制作 天津小偷程序做的网站能用吗
  • 做网站要不要用jsp网站关键词筛选
  • 重庆建设网站的公司哪家好高德北斗导航
  • 做厨柜有招聘网站吗短视频营销案例