NetCore+HcEmr学习笔记0001

  1. C#中的“return default(T)”是什么意思?

default 为泛型代码中的默认关键字。
给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。
解决方案是使用 default 关键字,此关键字对于引用类型会返回空,对于数值类型会返回零。
对于结构,此关键字将返回初始化为零或空的每个结构成员,具体取决于这些结构是值类型还是引用类型。以下来自 GenericList 类的示例显示了如何使用 default 关键字。
default 关键字可在 switch 语句或泛型代码中使用。

2.C#的TimeSpan介绍
TimeSpan结构:表示一个时间间隔。它含有以下四个构造函数:
TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。
(DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)
TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。
TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。
TimeSpan(Int32,Int3效果为:2, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

3.C#中的readonly和const,static
const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量。不能用new初始化。1.
Readonly 是只读变量.属于运行时变量.可以在类constructor里改变它的值.不能作用于局部变量。
const 和 static 不能在一起用,它已经是静态的了。
我们都知道,const和static readonly的确非常像:通过类名而不是对象名进行访问,在程式中只读等等。在多数情况下能混用。
二者本质的差别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。
而static readonly,在程式中只读, 不过它是在运行时计算出其值的,所以还能通过静态构造函数来对它赋值,
readonly只能用来修饰类的field,不能修饰局部变量,也不能修饰property等其他类成员.
明白了这个本质差别,我们就不难看出下面的语句中static readonly和const能否互换了:

posted @ 2022-05-21 16:16  老舍  阅读(47)  评论(0)    收藏  举报