1、列举ASP.NET页面之间传值的几种方式。
QueryString Ajax session cookie Server.Transfer
2、简述private、protected、public、internal修饰符的访问权限。
private 私有的 表示类或方法只对本类里的方法可见
public 公共的 表示任何类都可以不受限制的访问此成员
protected 本类可以访问和继承自本类的子类 可以访问
internal 类或方法在程序集内部可见,对于使用程序集和外部类不可见就是在同一个.net集合或苦中所有类型均可访问,在同一个命名空间中可以访问
3、简述ADO.NET中的五个主要对象。
sqlconnection 连接字符串
sqlcommand 执行连接对象
sqldatareader 数据阅读器
sqldataadapter 数据适配器
dataset 数据集
4、请简述.NET中类与结构的异同。
类是引用类型 结构则是值类型
类可以继承或被继承,而结构则不支持
结构对象不能像类对象一样赋值为空
5、override与重载(overload)的区别。
override(重写)
overload重载要求函数名相同,但是参数列表必须不同,返回值可以相同也可以不同,override覆盖要求函数名,参数列表,返回值必须相同
6、new有几种用法?
1 new 运算符:用于创建对象和调用构造函数。
2 new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3 new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。
7、用sealed修饰的类有什么特点?
sealed防止该类被其他类继承。因此密封类不可能有派生类
8、在.NET中,配件的意思是?
程序集《中间语言,源数据,资源,装配清单》
9、一个数组:1,1,3,5,8,13,21...,求第30位数是多少?
答:public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
10、请简述面向对象的多态的特性及意义
面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法【译注:此处应该是对象(或对象引 用、指向对象的指针)】。在Java中,缺省情况下方法就是虚的。在C#中,必须使用virtual关键字才能使方法被父类调用。
在C#中,还需要override关键字以指明一个方法将重载(或实现一个抽象方法)其父类的方法。
Class B //【译注:应为class B】
{
public virtual void foo () {}
}
Class D : B //【译注:应为class D : B】
{
public override void foo () {}
}
试图重载一个非虚的方法将会导致一个编译时错误,除非对该方法加上“new”关键字,以指明该方法意欲隐藏父类的方法。
Class N : D //【译注:应为class N : D】
{
public new void foo () {}
}
N n = new N ();
n.foo(); // 调用N的foo
((D)n).foo(); // 调用D的foo
((B)n).foo(); // 调用D的foo
和C++、Java相比,C#的override关键字使得阅读源代码时可以清晰地看出哪些方法是重载的。不过,使用虚方法有利有弊。第一个有利点是:避免使用虚方法轻微的提高了执行速度。第二点是可以清楚地知道哪些方法会被重载。
QueryString Ajax session cookie Server.Transfer
2、简述private、protected、public、internal修饰符的访问权限。
private 私有的 表示类或方法只对本类里的方法可见
public 公共的 表示任何类都可以不受限制的访问此成员
protected 本类可以访问和继承自本类的子类 可以访问
internal 类或方法在程序集内部可见,对于使用程序集和外部类不可见就是在同一个.net集合或苦中所有类型均可访问,在同一个命名空间中可以访问
3、简述ADO.NET中的五个主要对象。
sqlconnection 连接字符串
sqlcommand 执行连接对象
sqldatareader 数据阅读器
sqldataadapter 数据适配器
dataset 数据集
4、请简述.NET中类与结构的异同。
类是引用类型 结构则是值类型
类可以继承或被继承,而结构则不支持
结构对象不能像类对象一样赋值为空
5、override与重载(overload)的区别。
override(重写)
overload重载要求函数名相同,但是参数列表必须不同,返回值可以相同也可以不同,override覆盖要求函数名,参数列表,返回值必须相同
6、new有几种用法?
1 new 运算符:用于创建对象和调用构造函数。
2 new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3 new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。
7、用sealed修饰的类有什么特点?
sealed防止该类被其他类继承。因此密封类不可能有派生类
8、在.NET中,配件的意思是?
程序集《中间语言,源数据,资源,装配清单》
9、一个数组:1,1,3,5,8,13,21...,求第30位数是多少?
答:public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
10、请简述面向对象的多态的特性及意义
面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法【译注:此处应该是对象(或对象引 用、指向对象的指针)】。在Java中,缺省情况下方法就是虚的。在C#中,必须使用virtual关键字才能使方法被父类调用。
在C#中,还需要override关键字以指明一个方法将重载(或实现一个抽象方法)其父类的方法。
Class B //【译注:应为class B】
{
public virtual void foo () {}
}
Class D : B //【译注:应为class D : B】
{
public override void foo () {}
}
试图重载一个非虚的方法将会导致一个编译时错误,除非对该方法加上“new”关键字,以指明该方法意欲隐藏父类的方法。
Class N : D //【译注:应为class N : D】
{
public new void foo () {}
}
N n = new N ();
n.foo(); // 调用N的foo
((D)n).foo(); // 调用D的foo
((B)n).foo(); // 调用D的foo
和C++、Java相比,C#的override关键字使得阅读源代码时可以清晰地看出哪些方法是重载的。不过,使用虚方法有利有弊。第一个有利点是:避免使用虚方法轻微的提高了执行速度。第二点是可以清楚地知道哪些方法会被重载。