- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#面试题(设计模式在后面)
2. const 和readonly 有什么区别?
答:const 可以用于类的成员常量和局部常量,必须在声明时赋值,之后不可以对常量进行 赋值。而readonly 只能用于类的成员变量不能用于局部变量,在声明时可以不赋值,除了
在构造函数中可以再次赋值外,其它的地方和 const 一样也不能赋值。
5. 接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?答 答:区别如下
抽象类可以有抽象成员(无具体实现),也可以有非抽象成员(有具体实现);接 口只有抽象成员。
一个类不能同时继承多个抽象类,一个类可以同时实现多个接口。
如果多个子类中有很多代码是重复的,这时采用抽象类,因为可以将这些代码放到抽象类的 非抽象方法中,这样可以达到代码复用。当实现多个接口时因为抽象类不支持,只能使用接
口。
struct 和 class 有什么区别
答:两者都可以有成员变量、属性、索引器、事件、函数、构造函数,主要区别如下: 区别点 结构 类
类型 值类型 引用类型
成员变量 在声明时不能赋值 可以赋值也可以不赋值
构造函数 可以不写,系统提供默认构造函数,默认构造函数中会将所有成员值设为 0,如 果写了构造函数则构造函数必须有参数,且在构造函数中必须为每一个成员赋值。 可以不
写,系统提供默认构造函数,写了也没有结构中的限制。 析构函数 不能有析构函数 可以有析构函数
继承性 自定义的结构不能从类继承,但可以实现接口,结构都是密封(sealed),不能从结 构继承 类没有限制
try 后面一个 finally,try 中有一个 return,那么 finally 中的代码会不会运行?如果运行, 是在 return 后还是return 前。
答:会运行,并且在return 后运行。
产生一个 int 数组,长度为 100,并向其中随机插入 1-100,并且不能重复。 答:该题解题思路有很多,主要是看运行效率如何,下面提供一种方法。
int[] array = new int[100]; int temp[] = new int[100]; for (int i = 0; i 100; i++)
{
temp[i]=i+1;
};Random rand = new Random(); for (int i = 0; i 100; i++)
{
int index = rand.Next(100-i-1); array[i] = temp[index]; temp[index]=temp[100-i-1];
}
9. C#中要使一个类支持 foreach 遍历,实现过程怎样?
答:必须实现 IEnumerable,IEnumerator 这两个接口,如下:
public class MyList : IEnumerable,IEnumerator
{
private int position = -1;
string[] array = new string[4]; public MyList()
{
array[0] = a;
array[1] = b;
array[2] = c;
array[3] = d;
}
#region IEnumerable 成员
//每次使用 foreach 时都会调用它得到一个枚举器
public IEnumerator GetEnumerator()
{
Reset();
return (this as IEnumerator);
}
#endregion
#region IEnumerator 成员
//遍历时通过这个属性得到值 public object Current
{
get { return array[position]; }
}
//访问下一个元素时使用 MoveNext 移动位置;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;;;如下:;27;28;29;30;31;32;33;简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的 应用。
答:WebSevice 使用 HTTP 协议,因此可以穿透防火墙。而 Remoting 使用 TCP/IP,二 进制传送提高效率。
remoting 是.net 中用来跨越 machine, process, appdomain 进行方法调用的技术,对于三层 结构的程序,就可以使用 remoting 技术来构建.它是分布应用的基础技术.相当于以前 的 DCOM;Web Service 是一种构建应用程序的普通模型,并能在所有支持 internet 网通 讯的操作系统上实施。Web Se
您可能关注的文档
- 剑指offer例题(Java编程通过).pptx
- 剑桥商务英语 中级真题 24辑听力文本.pptx
- 剑桥国际少儿英语KB1KB2升级必备资料.pptx
- 剑桥少儿英语一级上册各单元知识点汇总.pptx
- 剑桥少儿英语一级上册知识点总结.pptx
- 剑桥少儿英语一级下册各单元知识点汇总.pptx
- 剑桥少儿英语一级考试过级模拟题.pptx
- 剑桥少儿英语三级上重点知识及练习.pptx
- 剑桥少儿英语二级考试词汇汇总.pptx
- 剧场安全应急预案.pptx
- 2024浙江衢州市常山县“英才荟”事业单位紧缺急需人才招聘18人笔试备考试题及答案解析.docx
- 2024浙江省近海海洋工程环境与生态安全重点实验室招聘1人笔试备考试题及答案解析.docx
- 2024广东阳江市阳西县补充招聘森林消防应急队员5人笔试备考试题及答案解析.docx
- 2024浙江松阳县新华书店有限公司招聘见习大学生1人笔试备考试题及答案解析.docx
- 2024云南曲靖市马龙区部分事业单位选调(含选调计划)26人笔试备考试题及答案解析.docx
- 2024广西柳州市残疾人劳动就业服务中心招聘残疾人专职委员1人笔试备考试题及答案解析.docx
- 2024广西河池市总工会公开招聘社会化工会工作者3人笔试备考试题及答案解析.docx
- 2024贵州华贵人寿保险股份有限公司第三次社会招聘15人笔试备考试题及答案解析.docx
- 2024广西百色市田东县5月城镇公益性岗位工作人员招聘4人笔试备考试题及答案解析.docx
- 2024广西百色市那坡县坡荷乡人民政府公开招聘编外工作人员2人笔试备考试题及答案解析.docx
文档评论(0)