C#
Wind_Crazy
好多语言啊
展开
-
#Null 合并运算符( ?? )
#Null 合并运算符( ?? )如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值using System;namespace NULLABLE{ class A { static void Main(string[] args) { double? a = null; double? b = 3.14157; double c = 9;原创 2021-10-13 21:18:58 · 218 阅读 · 0 评论 -
#值类型的构造函数
所有值类型都隐式声明一个称为默认构造函数 (default constructor) 的公共无参数实例构造函数。默认构造函数返回一个零初始化实例,它就是该值类型的默认值 (default value)所以在下面的示例中,变量 i 和 j 都被初始化为零。class A{ void F() { int i = 0; int j = new int(); }}bool类型默认为false...原创 2021-10-10 15:16:17 · 81 阅读 · 0 评论 -
#名称隐藏-2(通过继承的名称隐藏)
#名称隐藏-2(通过继承的名称隐藏)当类或结构重新声明从基类继承的名称时,会发生通过继承的名称隐藏。这种类型的名称隐藏采取下列形式之一:• 类或结构中引入的常量、字段、属性、事件或类型会把所有同名的基类成员隐藏起来。• 类或结构中引入的方法隐藏所有同名的非方法基类成员,以及所有具有相同签名(方法名称和参数个数、修饰符和类型)的基类方法。• 类或结构中引入的索引器隐藏所有具有相同签名(参数个数和类型)的基类索引器。管理运算符声明的规则使派生类不可能声明与基类中的运算符具有相同签名的运算符。因此,运算原创 2021-10-05 22:17:41 · 897 阅读 · 0 评论 -
#名称隐藏-1(通过嵌套的名称隐藏)
#名称隐藏-1(通过嵌套的名称隐藏)以下各项会导致发生通过嵌套的名称隐藏:在命名空间内嵌套其他命名空间或类型;在类或结构中的嵌套类型;声明形参和局部变量。在下面的示例中class A{ int i = 0; void F() { int i = 1; } void G() { i = 1; }}在方法 F 中,实例变量 i 被局部变量 i 隐藏,但在方法 G 中,i 仍引用该实例变量。当内部范围中的名称隐藏外部范围中的名称时,它隐藏该名称的所有重载匹配项。在下面的示例中c原创 2021-10-05 21:58:36 · 1487 阅读 · 0 评论 -
#范围 (scope)-2
#范围 (scope)-2块中名称的含义可能因该名称的使用上下文而异。在下面的示例中using System;class A {}class Test{ static void Main() { string A = "hello, world"; string s = A; // 表达式上下文 Type t = typeof(A); // 类型上下文 Console.WriteLine(s); // "hello, world" Consol原创 2021-10-05 21:35:30 · 82 阅读 · 0 评论 -
#范围 (scope)-1
#范围 (scope)-1在命名空间、类、结构或枚举成员的范围内,可以在位于该成员的声明之前的文本位置引用该成员。例如class A{ void F() { i = 1; } int i = 0;}这里,F 在声明 i 之前引用它是有效的。在局部变量的范围内,在位于该局部变量的 local-variable-declarator 之前的文本位置引用该局部变量是编译时错误。例如class A{ int i = 0; void F() { i = 1; // 错误原创 2021-10-05 21:26:58 · 119 阅读 · 0 评论 -
#签名和重载-3
#签名和重载-3签名是对类、结构和接口的成员实施重载 (overloading) 的机制:• 方法重载允许类、结构或接口用同一个名称声明多个方法,条件是它们的签名在该类、结构或接口中是唯一的。• 实例构造函数重载允许类或结构声明多个实例构造函数,条件是它们的签名在该类或结构中是唯一的。• 索引器重载允许类、结构或接口声明多个索引器,条件是它们的签名在该类、结构或接口中是唯一的。• 运算符重载允许类或结构用同一名称声明多个运算符,条件是它们的签名在该类或结构中是唯一的。虽然 out 和 ref 参原创 2021-10-04 15:53:06 · 106 阅读 · 0 评论 -
#签名和重载-2
#签名和重载-2• 实例构造函数签名由它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。具体而言,实例构造函数的签名不包含可为最右边的参数指定的 params 修饰符。• 索引器签名由它的每一个形参(按从左到右的顺序)的类型组成。具体而言,索引器签名既不包含元素类型,也不包含可为最右边的形参指定的 params 形参数组签名和 修饰符。• 运算符签名由运算符的名称和它的每一个形参(按从左到右的顺序)的类型组成。具体而言,运算符的签名不包含结果类型。索引器:class Progr原创 2021-10-04 14:51:26 · 68 阅读 · 0 评论 -
#签名和重载-1
#签名和重载-1• 方法签名(signature)由方法的名称、类型形参的个数和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。为了实现这些目的,形参的类型中出现的方法的任何类型形参都不是由其名称标识的,而是由它在方法的类型实参列表中的序号位置标识的。• 需注意的是,方法签名既不包含返回类型和 params 修饰符(它可用于指定最右边的形参),也不包含可选类型形参约束。其中params 修饰符形式为:方法修饰符 返回类型 方法名(params 类型[ ] 变量名)如:原创 2021-10-04 14:07:55 · 101 阅读 · 0 评论