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#索引器的详细解释)