二判断题(答案:全对)(1)在一个程序内,没有任何类或结构可以包含一个以上的名为Main的方法,因为Main的定义限定它只能被用作应用程序的入口点。但允许使用Main的其他重载版本,前提是它们具有一个以上的参数,或者它们的唯一参数的类型不是string[]。(2)应用程序可由多个类或结构组成。在这些类或结构中,可能会有若干个拥有自己的Main方法,因为Main的定义限定它只能被用作应用程序的入口点。这样的情况下,必须利用某种外部机制(如命令行编译器的选项)来选择其中一个Main方法用作入口点。(3)在C#中,每个方法都必须定义为类或结构的成员。(4)C#程序中的声明定义程序的构成元素。C#程序是用命名空间组织起来的,一个命名空间可以包含类型声明和嵌套的命名空间声明。(5)一个声明在它自已所属的那个声明空间(declarationspace)中定义一个名称。除非是重载成员,否则,在同一个声明空间下若有两个以上的声明语句声明了具有相同名称的成员,就会产生编译时错误。(6)同一个声明空间内绝不能包含不同类型的同名成员。例如,声明空间绝不能包含同名的字段和方法。(7)每个类、结构或接口声明创建一个新的声明空间。基类与派生类的声明空间无关,基接口与派生接口的声明空间无关。因此,允许在派生类或派生接口内声明与所继承的基类或基接口成员同名的成员。(8)除了实例构造函数声明和静态构造函数声明外,类或结构成员声明不能引入与该类或结构同名的成员。(9)在嵌套声明空间中不可能声明与封闭它的声明空间中的局部变量或常量同名的局部变量或常量。但是,只要两个声明空间彼此互不包含,这两个声明空间就可以包含同名的元素。(10)当类型从基类继承时,基类的所有成员(实例构造函数、析构函数和静态构造函数除外)都成为派生类型的成员。基类成员的声明可访问性并不控制该成员是否可继承。(11)命名空间没有访问限制。不可能把命名空间设置成私有的、受保护的或内部的,命名空间名称始终是可公开访问的。(12)命名空间隐式地具有public已声明可访问性。在命名空间声明中不允许使用访问修饰符。(13)编译单元或命名空间中声明的类型可以具有public或internal已声明可访问性,默认的已声明可访问性为internal。(14)类成员可具有public、protected、internal、protectedinternal、private等五种已声明可访问性中的任何一种,默认为private已声明可访问性。(15)声明为类成员的类型可具有public、protected、internal、protectedinternal、private等五种已声明可访问性中的任何一种,而声明为命名空间成员的类型只能具有public或internal已声明可访问性。(16)结构成员可以具有public、internal或private已声明可访问性并默认为private已声明可访问性,这是因为结构是隐式地密封的。(17)枚举成员隐式地具有public已声明可访问性。在枚举成员声明中不允许使用访问修饰符。(18)方法签名既不包含返回类型和params修饰符(它可用于指定最右边的形参),也不包含可选类型形参约束。(19)虽然out和ref参数修饰符被视为签名的一部分,但是在同一个类型中声明的成员不能仅通过ref和out在签名上加以区分。在同一类型中声明了两个成员时,如果将这两个方法中带有out修饰符的所有参数更改为ref修饰符会使这两个成员的签名相同,则会发生编译时错误。(20)在命名空间、类、结构或枚举成员的范围内,可以在位于该成员的声明之前的文本位置引用该成员。在局部变量的范围内,在位于该局部变量的声明之前的文本位置引用该局部变量是编译时错误。(21)当内部范围中的名称隐藏外部范围中的名称时,它隐藏该名称的所有重载匹配项。(22)运算符声明的规则使派生类不可能声明与基类中的运算符具有相同签名的运算符。因此,派生类中的运算符从不隐藏基类中的运算符。(23)值类型的变量直接包含其数据,而引用类型的变量存储对其数据的引用(reference),后者称为对象(object)。(24)一个值类型或是结构类型,或是枚举类型。C#提供称为简单类型(simpletype)的预定义结构类型集。简单类型通过保留字标识。(25)值类型的变量赋值会创建所赋的值的一个副本,而用类型的变量赋值复制的是引用而不是由引用标识的对象。(26)任何类...