5.C#的数据类型有(A)
a)值类型和调用类型; b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型;
6.下列描述错误的是(D)
a)类不可以多重继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
9.以下是一些C#中的枚举型的定义,其中错误的用法有()
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
17.abstract class BaseClass
{
    public virtual void MethodA()
    {
    }
    public virtual void MethodB()
    {
    }
}
class Class1: BaseClass
{
    public void MethodA(string arg)
    {
    }
    public override void MethodB()
    {
    }
}
class Class2: Class1
{
    new public void MethodB()
    {
    }
}
class MainClass
{
    public static void Main(string[] args)
    {
        Class2 o = new Class2();
        Console.WriteLine(o.MethodA());
    }
}
请问,o.MethodA调用的是: (  A  )
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
为什么呢?24.您的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?(  B  )
  A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
  B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
  C. “Data Source= AllWin \PubBase;Initial Category=PubBase;Integrated Security= SSPI”
  D. “Data Source= AllWin \ PubBase;Database=Test;Integrated Security= SSPI”
25.您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?(  ?  )
  A.在“引用”对话框的.Net标签中选择 System.Web.Services.dll。
  B.在“Web引用”对话框中输入这个 XML Web service 的地址。
  C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。
  D.在您的 Global.asax.cs 中写一个事件处理器导入这个 Xml Web Service 相应的 .wsdl 和 .disco 文件。

解决方案 »

  1.   

    因为 Class2 的定义中没有MethodA ()方法,
    从它的父类Class1 中找,虽有MethodA 方法,但是参数不匹配,
    再从父类BaseClas 中找,有MethodA 方法且参数匹配,所以调用的是BaseClass.MethodA()
      

  2.   

    5,B
    6,D
    9,D
    17,A
    24,D
    25,B啥子公司哦?
      

  3.   

    9.以下是一些C#中的枚举型的定义,其中错误的用法有() 
    a)public   enum   var1{   Mike   =   100,   Nike   =   102,   Jike   } 
    b)public   enum   var1{   Mike   =   100,   Nike,   Jike   } 
    c)public   enum   var1{   Mike=-1   ,   Nike,   Jike   } 
    d)public   enum   var1{   Mike   ,   Nike   ,   Jike   } 
    MSDN:enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。每种枚举类型都有基础类型,该类型可以是除 char 以外的任何整型。枚举元素的默认基础类型为 int。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。例如:  复制代码 
          enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
     在此枚举中,Sat 为 0,Sun 为 1,Mon 为 2,依此类推。枚举数可以具有重写默认值的初始值设定项。例如:  复制代码 
          enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
     在此枚举中,强制元素序列从 1 而不是 0 开始。若要声明另一整型枚举,例如 byte,请在标识符之后紧跟类型,然后再使用冒号:  复制代码 
    enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
     准许使用的枚举类型有 byte、sbyte、short、ushort、int、uint、long 或 ulong。可以给 Days 类型的变量赋以基础类型范围内的任何值,所赋的值不限于已命名的常数。enum E 的默认值为表达式 (E)0 产生的值。注意: 
    枚举数的名称中不能包含空白。
     基础类型指定为每个枚举数分配的存储大小。但是,从 enum 类型到整型的转换需要用显式类型转换来完成。例如,下面的语句通过使用强制转换从 enum 转换为 int,将枚举数 Sun 赋给 int 类型的变量:  复制代码 
    int x = (int)Days.Sun;
     将 System..::.FlagsAttribute 应用于某个枚举时,如果该枚举包含一些使用按位“或”运算组合的元素,这时您会注意到该属性在用于某些工具时会影响 enum 的行为。当使用诸如 Console 类方法、表达式计算器这样的工具时,可以注意到这些变化。(请参见示例 3)。可靠编程
    在编译时,对枚举中各个值的所有引用均将转换为数值文本。如果给新版本的枚举赋其他值,或者更改新版本中枚举成员的值,可能引起相关源代码的问题。情况通常是:switch 语句中使用了 enum 值,如果已将其他元素添加到 enum 类型中,那么默认值的测试可能意外地返回 true。如果其他开发人员将使用您的代码,则需提供相关说明,告诉开发人员将新元素添加到任何 enum 类型时,他们的代码应该如何响应。示例
    在此例中,声明了一个枚举 Days。两个枚举数被显式转换为整数并赋给整型变量。  复制代码 
    // keyword_enum.cs
    // enum initialization:
    using System;
    public class EnumTest 
    {
        enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};    static void Main() 
        {
            int x = (int)Days.Sun;
            int y = (int)Days.Fri;
            Console.WriteLine("Sun = {0}", x);
            Console.WriteLine("Fri = {0}", y);
        }
    }
     
      复制代码 
    Sun = 2
    Fri = 7
     在此例中,使用了基类选项来声明成员类型是 long 的 enum。注意,即使枚举的基础类型是 long,枚举成员仍然必须使用强制转换显式转换为 long 类型。  复制代码 
    // keyword_enum2.cs
    // Using long enumerators
    using System;
    public class EnumTest 
    {
        enum Range :long {Max = 2147483648L, Min = 255L};
        static void Main() 
        {
            long x = (long)Range.Max;
            long y = (long)Range.Min;
            Console.WriteLine("Max = {0}", x);
            Console.WriteLine("Min = {0}", y);
        }
    }
     
      复制代码 
    Max = 2147483648
    Min = 255
     下面的代码示例阐释 enum 声明上的 System..::.FlagsAttribute 属性的使用和效果。  复制代码 
    // enumFlags.cs
    // Using the FlagsAttribute on enumerations.
    using System;[Flags]
    public enum CarOptions
    {
        SunRoof = 0x01,
        Spoiler = 0x02,
        FogLights = 0x04,
        TintedWindows = 0x08,
    }class FlagTest
    {
        static void Main()
        {
            CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
            Console.WriteLine(options);
            Console.WriteLine((int)options);
        }
    }
     
      复制代码 
    SunRoof, FogLights
    5
     还有第五题到底是A还是B呢