日期:2014-05-18  浏览次数:20937 次

c#面试题及答案(二)

2 .列举ASP.NET 页面之间传递值的几种方式。 
答. 1).使用QueryString, 如....?id=1; response. Redirect().... 
                  2).使用Session变量 
                  3).使用Server.Transfer

3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第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); 
                  } 
                  }

4.C#中的委托是什么?事件是不是一种委托?
答 : 委托可以把一个方法作为参数代入另一个方法。
        委托可以理解为指向一个函数的引用。
        是,是一种特殊的委托

5.override与重载的区别
答 : override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
        override 是进行基类中函数的重写。为了适应需要。

6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
答 : QueryString、 this.Server.Transfer,服务端cach,数据库

7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
答:
foreach (Control control in this.Controls)