.net面试题汇总一第一篇

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 private:私有成员,只能在类内部中才可以访问。 protected:受保护的,只能在该类和继承它的类中才可以访问 public:公开的,共有的,可以在全局都可以访问,没有限制。 internal:内部的,只能在同一命名空间下使用。 2.列举ASP.NET 页面之间传递值的几种方式。 1)session   安全     消耗服务器资源 2)cookie    方便     容易被篡改 3)application 安全  消耗应用池资源 4 )url 方便 简单    不安全,不美观,有的时候容易过长,不利于seo优化 5)数据库   安全  对数据库负担较重,消耗性能较大 6 )cache 高效  消耗服务器资源 3.递归算法。 一列数的规则如下: 1、1、2、3、5、8、13、21、34......  求第30位数是多少 算法C#代码: private int getResult(int n) { if (n <= 0) return 0; if (n == 1||n==2) return 1; else return getResult(n - 1) + getResult(n - 2); } 4、递归之“累加求和”问题的算法 问题:求1+2+3+4+5...+n的值 实现代码: private long getResult2(int n) { if (n <=1) return 1; else return n + getResult2(n - 1); } 5、C#中的委托是什么?事件是不是一种委托? C#中委托可以说是一个函数的引用。 事件是一种特殊的委托。 6、override与重载的区别 override 是 重写,覆盖父级方法,当前类无法再调用父级方法,一般是为了适应新需求使用 重载 是参数或返回值不同,但方法名相同,一般是为了扩展需求使用。 7、如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? url、数据库、cache 8、请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? 这个问题还没有想到好的解决方法。暂时记下来。 9、请编程实现一个冒泡排序算法 /// <summary> /// 冒泡排序 /// </summary> private void BubbleSort() { int[] tempA=new int[]{3,2,7,4}; int temp = 0; for (int i = 0; i < tempA.Length-1; i++) { for (int j = 0; j < i; j++) { if (tempA[i] > tempA[j]) { temp = tempA[i]; tempA[i] = tempA[j]; tempA[j] = temp; } } } } 10.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 不是,可以是任何类型。 (刚开始我也不是太懂,附上一csdn的文章,还是不错的。推荐大家看下: 关于C#索引器的详细解释)    
原文地址:https://www.cnblogs.com/woaic/p/3943146.html