文件名称:C#面试题(127题)
文件大小:116KB
文件格式:DOC
更新时间:2017-06-10 14:36:06
C#
1. 一列数的规则如下: 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); } } 2.C#中的委托是什么?事件是不是一种委托? 答 :委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托。 3.override与重载的区别 答 :overrider与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。 Overrider是进行基类中函数的重写。为了适应需要。 4.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答 : this.Server.Transfer 5.请编程遍历页面上所有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 ; } } 6.请编程实现一个冒泡排序算法? 答: int [] array = new int[] {1,3,5,8,0,2,3,10,8,10}; 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[i]) { temp = array[i] ; array[i] = array[j] ; array[j] = temp ; } } }