博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

考考你--.net面试第一关

Posted on 2010-07-31 14:55  每天到晚游泳的鱼  阅读(288)  评论(0)    收藏  举报

1、什么是面向对象?

答:面向对象OO  面向对象的分析OOA  面向对象的设计OOD  面向对象的编程OOP; 
通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数;现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。

2、简述 private、 protected、 public、 internal 修饰符的访问权限。

答 :

private : 私有成员, 在类的内部才可以访问。 
protected : 保护成员,该类内部和继承类中可以访问。 
public : 公共成员,完全公开,没有访问限制。 
internal: 在同一命名空间内可以访问。 
3、列举ASP.NET 页面之间传递值的几种方式。

 使用QueryString, 如....?id=1; response. Redirect().... 
 使用Session变量 
 使用Server.Transfer  ( Server.Transfer 引导到另一页面保留服务器资源,通过更改服务器端“焦点”和传输请求来代替告诉浏览器重定向)

Context.Handler可以显示转换为上一个页面的实例

4、 一列数的规则如下: 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);  
}  
}  

5、C#中的委托是什么?事件是不是一种委托?

答 :委托可以把一个方法作为参数代入另一个方法。  委托可以理解为指向一个函数的引用。事件是一种特殊的委托 。

6、override与重载的区别。

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

7、请编程遍历页面上所有TextBox控件并给它赋值为string.Empty。

 答:

代码
foreach (System.Windows.Forms.Control control in this.Controls)  
{  
if (control is System.Windows.Forms.TextBox)  
{  
System.Windows.Forms.TextBox tb 
= (System.Windows.Forms.TextBox)control ;  
tb.Text 
= String.Empty ;  
}  
}  

8、请编程实现一个冒泡排序算法。

答:

代码
int [] array = new int [*] ;  
int temp = 0 ;  
for (int i = 0 ; i < array.Length - 1 ; i++)  
{  
for (int j = i + 1 ; j < array.Length ; j++)  
{  
if (array[j] < array)  
{  
temp 
= array ;  
array 
= array[j] ;  
array[j] 
= temp ;  
}  
}  

 

 

9、描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

答:<modifier> <return type> this [argument list]
  ...{
  get
  ...{
  // Get codes goes here
  }
  set
  ...{
  // Set codes goes here
  }
  }

在定义索引器的时候,你不一定只采用一个参数。索引器参数可以采用任何类型,不过int是通常采用也是最为合理的类型。同一类中还可能拥有一个以上的索引器(重载)。

10、求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m。

答: 

代码
int Num = this.TextBox1.Text.ToString() ;  
int Sum = 0 ;  
for (int i = 0 ; i < Num + 1 ; i++)  
{  
if((i%2== 1)  
{  
Sum 
+= i ;  
}  
else  
{  
Sum 
= Sum-i;  
}  
}  
System.Console.WriteLine(Sum.ToString());  
System.Console.ReadLine() ;