33条C#、.Net经典面试题目及答案

作者&投稿:水怖 (若有异议请与网页底部的电邮联系)
~

  本文集中了多条常见的C# Net经典面试题目例如 NET中类和结构的区别 ASP NET页面之间传递值的几种方式? 并简明扼要的给出了答案 希望能对学习C# Net的读者有所帮助

   请你说说 NET中类和结构的区别?

  答 结构和类具有大体的语法 但是结构受到的限制比类要多 结构不能申明有默认的构造函数 为结构的副本是又编译器创建和销毁的 所以不需要默认的构造函数和析构函数 结构是值类型 所以对结构变量所做的改变不会影响其的原值 而类是应用类型 改变其变量的值会改变其原值 申明结构用Struck关键字 申明类用class关键字 向方法传递结构是时是通过值传递的 而不是通过引用 与类不同 结构的实例化可以不使用New关键字 类可以实现接口

   死锁的必要条件?怎么克服?

  答 系统的资源不足 进程的推进的顺序不合适 资源分配不当 一个资源每次只能被一个进程使用 一个资源请求资源时 而此时这个资源已阻塞 对已获得资源不放 进程获得资源时 未使用完前 不能强行剥夺

   接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?

  答 接口是可以继承接口的 抽象类是可以实现接口的 抽象类可以继承实体类 但是有个条件 条件是 实体类必须要有明确的构造函数

   构造器Constructor是否可以被继承?是否可以被Override?

  答 Constructor不可以被继承 因此不能被重写(Overriding) 但可以被重载(Overloading)

   当一个线程进入一个对象的方法后 其它线程是否可以进入该对象的方法?

  答 不可以 一个对象的方法只能由一个线程访问

   用最有效的方法算出等已 对于几?

  答 <<

   C#是否可以对内存直接进行操作?

  答 这个问题比较难回答 也是个很大的问题 但是可以这样问答 C#是可以对内存进行直接操作的 虽然很少用到指针 但是C#是可以使用指针的 在用的时候需要在前边加unsafe 中使用了垃圾回收机制(GC)功能 它替代了程序员 不过在C#中不可以直接使用finalize方法 而是在析构函数中调用基类的finalize()方法

   Error和Exception有是区别?

  答 error表示恢复不是不可能 但是很困难 exception表示一种实际或实现问题 它表示程序运行正常不可以发生的

   谈谈final finally finallize的区别?

  答 final用于申明属性 方法和类 表示属性不可变 方法不可以被覆盖 类不可以被继承

  Finally是异常处理语句结构中 表示总是执行的部分

  Finallize表示是object类一个方法 在垃圾回收机制中执行的时候会被调用被回收对象的方法

   HashMap和Hashtable区别?

  答 HashMap是Hashtable的轻量级实现 非线程安全的实现他们都实现了map接口 主要区别是HashMap键值可以为空null 效率可以高于Hashtable

   Collection和Collections的区别?

  答 Collection是集合类的上级接口 Collections是针对集合类的一个帮助类 它提供一系列静态方法来实现对各种集合的搜索 排序 线程安全化操作

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

  答 委托是一种安全的类似与函数指针 但是她比指针要安全的多 它可以把方法作为一个参数传递给另一个方法 可以理解为指向函数的引用 事件是一种消息机制 它是一种委托 委托不带方法体

   Override Overload 的区别?

  答 Override是重写的意思 它表示重写基类的方法 而且方法的名称 返回类型 参数类型 参数个数要与基类相同

  Overload是重载是意思 它也表示重

  写基类的方法 但是只要方法名相同 别的可以不同

   在一个BS结构中需要传递变量值时 不能使用session coolke application 你有几中方法?

  答 this server Transfer Querystring

   C#种索引器实现过程 是否只能根据数字索引?

  答 不是的 可以是任意类型

   New有种用法?

  答 有 种 第一种是 实例化如 New Class()

  第二种是 public new 隐藏基类的方法

  第三种是 在泛型类申明中的任何类型参数都必须有公共的无参构造函数

   任何把一个Array复制到Arraylist中?

  答 Foreach (object o in Array) ArrayList Add ( )

  等有好多中种方法 自己想      概述反射和序列化?   答 反射 要给发射下一个定义还是比较难的 这里先说说我的理解 反射提供了封装程序集 模块和类型对象 可以用反射动态地创建类型的实例 将类型绑定到现有对象 或者从现有对象类型里获取类型 然后调用类型的方法或访问字段和属性

  序列化 将对象转换为另一种媒介传输的格式过程 如 序列化一个对象 用Http通过internet在客户端和服务器之间传递该对象 在另一端用反序列化从该流中重新得到对象

Const和ReadOnly?

  答 Const用来申明编程时申明常量 ReadOnly用来申明运行时常量

   UDP和TCP连接有和异同?

  答 TCP是传输控制协议 提供的是面向连接的 是可靠的 字节流服务 当用户和服务器彼此进行数据交互的时候 必须在他们数据交互前要进行TCP连接之后才能传输数据 TCP提供超时重拨 检验数据功能 UDP是用户数据报协议 是一个简单的面向数据报的传输协议 是不可靠的连接

   进程和线程分别该怎么理解?

  答 进程是比线程大的程序运行单元 都是由操作系统所体会的系统运行单元 一个程序中至少要有一个进程 有一个进程中 至少要有一个线程 线程的划分尺度要比进程要小 进程拥有独立的内存单元 线程是共享内存 从而极大的提高了程序的运行效率同一个进程中的多个线程可以并发执行

   ASP NET页面之间传递值的几种方式?

  答 QueryString session cookies application server Transfer respose redictor

   什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS CLS和CLR分别作何解释?

  答 应用程序域 就是为安全性 可靠性 隔离性 和版本控制 及卸载程序提供的隔离边界 它通常由运行库宿主创建 应用程序域提供了一个更安全 用途更广的处理单元

  托管代码 使用CLR编译语言编辑器开发编写的代码就叫托管代码

  装箱和拆箱 是把值类型转换为引用类型的过程 是隐式的 相反的过程就是拆箱 是显式的

  CTS是公共类型系统 CLS是公共语言规范 CLR公共语言运行库

  强类型系统 每个变量和对象都必须具有申明类型

   值类型和引用类型的区别?

  答 值类型的值是存放在堆栈中的 改变其值 不改变变量原有的值 而引用类型的值是存放在栈中的 其引用的地址是存放在堆栈中的 改变其值也就改变了变量原有的值 值类型不允许包含null值 然而可空类型可以将null赋值给值类型l

   的身份验证方式有哪些?

  答 windows forms passport

   解释一下UDDI WSDL的意义及其作用?

  答 UDDI是统一描述集成协议 是一套基于Web的 分布式的 为WEB服务提供的信息注册的实现标准规范 同时为也是为企业本身提供的Web服务注册以让别的企业能够发现并访问的协议标准 提供了基于标准的规范 用于描述和发现服务 还提供了一组基于因特网的实现

  WSDL这是一个基于XML的描述WEB服务的接口

什么是SOAP?

  答 是简单访问协议 是在分布式环境中 交换信息并实现远程调用的协议 是一个基于XML的协议 使用SOAP 可以不考虑任何传输协议 但通常还是HTTP协议 可以允许任何类型的对象或代码 在任何平台上 以任一种语言相互通信 它是一种轻量级协议

   如何部署一个页面?

  答 vs vs 里边都有发表机制 vs 可以发布然后在复制部署

  Vs 可以直接部署到对应的位置

   如何理中的垃圾回收机制?

  答 NET中的垃圾回收机制是引用程序对内存的回收和释放 当每次用new关键字创建一个对象时 运行库都要从托管堆中为其分配内存 因为空间是有限的 最终垃圾回收机制是要回收不用的内存的 已释放内存 重新使用

   面向对象的三大基本原则?

  答 封装 继承 多态

   在 NET中所有类的基类是?

  答 object

   能用foreach遍历访问的对象需要实现?

  答 需要实现IEnumerable接口和GetEnumerator ()方法

   Heap与stack的差别?

  答 Heap是堆 空间是由手动操作分配和释放的 它的存储区很大的自由存储区

lishixinzhi/Article/program/net/201311/12642




输出为什么输出是3条,而不是4条 C语言. 我看书了,它输出4条
这是因为swap( )函数中有一个getchar(),它需要你按一下回车才继续输出主程序中的最后一行内容。

三角形三边c怎么求长度?
c(斜边)=√(a²+b²)。(a,b为两直角边)将变量a、b、c赋予三角形的三条边。变量“c”必须赋予斜边,也就是最长的那条边。选另两条边中的一条做“a”,剩下一条做“b”。怎样选择都没关系,都不会影响最终的计算结果。然后将a和b的长度代入公式中,如下所示:如果三角形...

有3条线段abc其中a长2.3米b长2.7米c长3.5米以他们作为梯形的上底下...
a,b做底 c做高 面积是(2.3+2.7)*3.5\/2=8.75m2 梯形面积公式是上底加下底的和乘高\/2 \/2是定死的 上底加下底的和乘高=上底*高+下底*高 高越大总数越大

...有若干条件(比如5个条件),当满足其中任意3条或3条以上时,则执行_百 ...
if ( "条件1") if (++flag >=3) {} if ("条件2") if (++flag >=3) {} ...如此这般。

直角三角形有几条高? [ ] A.1条B.2条C.3
3条 2个直角边是两条高,斜边的高。一共是3条。

c里面三条波浪线是什么牌子
c里面三条波浪线是阿迪达斯牌。阿迪达斯旗下拥有三大系列:运动表现系列performance(三条纹)、运动传统系列originals(三叶草)和运动时尚系列neo(圆球型LOGO)(分三个子品牌:Y-3,SLVR,NEOLABEL)。

有3条线段A,B,C。A长2.12米。B长2.17米。C长3.53米。以他们作为上底和...
以b为高则面积就是上底加下底乘以高除以二 就是((2.12+3.53)*2.17)\/2=6.13025 3)以c与b为上下底(随便哪个上下底) 以a为高则面积就是上底加下底乘以高除以二 就是((3.53+2.17)*2.12)\/2=6.042 不知道你是不是要求面积 不过应该就是这三种梯形了吧 ...

C语言3条逗号表达式求解
(a=4*5,a*2)=优先级大于逗号表达式,所以a=20 x=(a=4,6*2)()优先级最大,算出是12,给了x,x=12 x=a=4,6*2 同样,=优先级大于逗号表达式,x=4,a=4

怎么判断三条边能不能组成三角形
判断三条线段能否组成三角形的条件如下:任意两边之和大于第三边。对于三条线段a、b、c,如果a+b>c,b+c>a,c+a>b,则它们可以组成一个三角形。任意两边之差小于第三边。如果a+b>c,b+c>a,c+a>b,且|a-b|<c,|b-c|<a,|c-a|...

c语言程序设计 输入3条边如果构成三角形,输入面积crea和周长preimeter...
int main(){ double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);if(a>0 && b>0 && c>0 && a+b>c && b+c>a && c+a>b){ double area,preimeter;preimeter=a+b+c;double p=preimeter\/2;area=sqrt(p*(p-a)*(p-b)*(p-c));printf("area = %.2lf, preimeter =...

莲湖区15563438374: C#解决经典面试题目:1+2+...+n,不能用乘除,if,else,for,while,switch,case等循环以及条件判断A?B:C
隐荀艾沐: 核心代码: int sum = 0; for(int i=1;i<n;i++){sum += i; }

莲湖区15563438374: .NET 经典 面试题[面试题10 在C#中如何声明一个类不能被继承]
隐荀艾沐: sealed 密封类嘛

莲湖区15563438374: 请问还有梦醒子的中文版电子书吗 -
隐荀艾沐: 有《梦醒子:一位华北乡居者的人生 》中文版 PDF

莲湖区15563438374: C#程序设计题 -
隐荀艾沐: 第一题:using System; using System.Collections.Generic; using System.Text; namespace Min { class Program { static void Main(string[] args) { Random r = new Random(); int[] sum = new int[20]; int min=100; int index = 0; for (int i = 0; i < 20; i++) { ...

莲湖区15563438374: C#编写下面题目 -
隐荀艾沐: do //用do while实现循环输入 { Console.WriteLine("请输入一个三位数:"); int num = int.Parse(Console.ReadLine()); //将输入的字符型num转换为整型 int ge = num%10; //num与10取余,得到个位 int shi = num/10%10; //得到十位 int bai ...

莲湖区15563438374: C#方面的问题简单
隐荀艾沐: 先把按钮拖到窗体上,然后双击按钮进入代码区域,在光标处调用你的类就可以了.如果不是静态类就先实例化一下,比如是personal类你就写persona ps=new person();如果是静态类直接通过类名调用方法就行了! 不好意思 有点笔误 如果是person类 就写person ps=new person();

莲湖区15563438374: C#程序员面试自我介绍等相关细节 -
隐荀艾沐: 我建议你去 http://job94.com/forum-221-1.html看一下,这里有很多不同种类职位面试资料经典的自我介绍你去看一下吧,我相信这些能够帮助到你的!

莲湖区15563438374: c#/.NET项目开发有哪些设计模式? -
隐荀艾沐: 模式分为三种,设计模式、体系结构模式与惯用法.其中惯用法是一种语言紧密相关的模式,例如,定界加锁模式其实是一种惯用法. 在C#项目开发过程中,很多情况下您已经使用了某些模式,但或许您并不知道自己所使用的这种解决方案是...

莲湖区15563438374: 关于一道简单的C++面试题.....
隐荀艾沐: 楼上Silverbullet说错了,每靶0-10环,所以不能简单地分成中和不中两种情况. 不过楼主这个代码也有问题. 第一,每靶0-10环,所以每个循环的判断条件应该是小于11才对.如果是小于12,就变成是每靶0-11环了. 第二,共打了10枪,但却...

莲湖区15563438374: .net问题 -
隐荀艾沐: 1:ADO.NET 是访问数据库技术,比ADO更方便.2:传值方式, URL、Session、Cookies、Server.Transfer、Application和跨页面传送.3:两种验证,winform,windows4: new 覆盖父类方法,实例化类型,泛型约束.5:结构相当于只有属性,...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网