NET面试题及答案合并.docx

上传人:b****8 文档编号:10039854 上传时间:2023-02-08 格式:DOCX 页数:56 大小:43.52KB
下载 相关 举报
NET面试题及答案合并.docx_第1页
第1页 / 共56页
NET面试题及答案合并.docx_第2页
第2页 / 共56页
NET面试题及答案合并.docx_第3页
第3页 / 共56页
NET面试题及答案合并.docx_第4页
第4页 / 共56页
NET面试题及答案合并.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

NET面试题及答案合并.docx

《NET面试题及答案合并.docx》由会员分享,可在线阅读,更多相关《NET面试题及答案合并.docx(56页珍藏版)》请在冰豆网上搜索。

NET面试题及答案合并.docx

NET面试题及答案合并

1.什么是自定义控件?

动态如何传数据?

答案

1)概述:

自定义控件也是的一种服务器控件,体现格式为*.dll

2)适用场合:

当.net平台给我们提供的web服务器控件不够用的时候,就需要我们自己开发一个自定义控件,或者又称为第三方控件;可以把该种控件添加到工具箱中,然后就像使用Web服务器控件一样。

例如:

分页控件

3)在控件内部公开属性,通过给属性赋值进行数据的交互;控件最终体现在界面上的样式是靠重写父类的Render方法来实现的

2.写出一个函数实现对一个字符串的所有排列(说出实现思路)

答案

1)char[]chars=str.ToCharArray();

Array.Sort(chars);

2)冒泡排序算法

3.手写一个表单内容包括‘用户名text’‘年龄text’‘性别单选默认没有选中’‘提交按钮’‘重置按钮’

答案

 女

 

 男

4.手写一个表格,第一行2列,第二行1列

答案

100px;height:

100px”>

12

合并

5.抽象类和接口的区别

答案

1)接口:

inerface纯抽象的类,里面不能有任何实现的成员

2)抽象类:

abstract实现和非实现成员都可以有

6.用socket实现服务器端向客户端传递几个字符,在客户端输出

答案

UsingSystem.Net.Sockets;

//启动监听

TcpListenerobjLsn=newTcpListener(1000);

objLsn.Start();

SocketobjSocket=objLsn.AcceptSocket();

//发送

Stringmsg=“测试发送”;

Byte[]arr=System.Text.Encoding.Default.GetBytes(msg);

objSocket.Send(arr);

参考:

WinForm第八章Socket编程

7.写处一个单例模式类

答案

PublicclassSingleClass

{

PrivateSingleClass()

{}

StaticSingleClassobjClass=null;

PublicstaticSingleClassGetObject()

{

If(objClass!

=null)

{

objClass=newSingleClass();

}

ReturnobjClass;

}

}

8.表达式floatf=3.4对吗?

如果不对,请说明原因

答案

1)不对

2)在c#中,应为floatf=3.4f或者floatf=3;

9.x=4,y=6在不声明新变量的情况下交换x,y的值

答案

Intx=4;

Inty=6;

X+=y;

Y=x–y ;

X=x-y ;

10.Listlist=newList();对不对如何改正

答案

1)不对

2)List为泛型集合,Listlist=newList();

3)例:

Listlist=newList();

11.声明一个有100个元素的数组

答案

1)String[]arr=newString[100];

2)Arrayarr=Array.CreateIntence(typeof(string),100);

注:

Array类是所有数组的父类

12.列举一下public,private,protected以及未声明修饰符之间的区别

答案

1)太简单,不说了

2)强调下internal在同一程序集内部,与public作用域大小一样,跨程序集访问时,internal不可以访问到

13.请试写一下你在项目中经常遇到的几种异常(至少两种以上)

答案

1)连接数据库失败(数据库连接串有问题)

2)未将对象引用到对象的实例(某些对象在使用过程中,未判断是否等于null,然后就直接调用方法或者属性)

14.试写出&与&&有什么区别

答案

1)&:

位的逻辑运算

2)&&逻辑运算

15.有两个字符串变量Atr与Btr,写出这两个字符串变量如何判断它们的内容相等

答案

1)Atr==Btr

2)Atr.Equals(Btr)

16.什么修饰符可以使类无法继承?

答案

1)Sealed密封的

2)结构(struct)默认就是密封的

17.列举几种C#中常见用的类(如:

dataset),以及类得简单介绍

答案

1)DataSet:

数据集,用于缓存从数据库中取到的数据,可以提供数据库的访问速度。

2)Connection:

连接对象,用于应用程序与数据进行连接。

3)TreeView:

树形控件,主要用于向树一样显示数据

18.介绍几种你熟悉的设计模式,写出原理及应用环境

答案

1)AbstractFactory:

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

用于可能使用多种数据源的情况。

2)Singleton:

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

用于一些工具类,如数据库操作类。

3)Iterator:

提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。

如集合中类的枚举方法

19.说说你对面向对象设计开发的理解,以及接口的作用

答案

面向对象更符合我们人的思维模式。

面向对象使用继承、封装、多态使程序复用性、扩展性、安全性、健壮性、易维护性得到极大的提高。

接口用于描述一组类的公共方法/公共属性.它不实现任何的方法或属性,只是告诉继承它的类

至少要实现哪些功能,继承它的类可以增加自己的方法.

接口使方法具有较好扩展性

20.说明.net中的错误处理机制

答案

异常处理有两种方法:

一种是使用TryCatch处理,一种使用throw扔出

21.写一段程序,把thisisaapple 变成appleaisthis这种形式

答案

stringstr="thisisaapple";

string[]strs=str.Split('');

stringoutput="";

for(inti=strs.Length-1;i>=0;i--)

{

output+=strs[i]+"";

}

if(output.Length>0)

{

output=output.Substring(0,output.Length-1);

}

str=output;

22.Overload和Override的区别。

Overloaded的方法是否可以改变返回值的类型?

答案

Overload(重载)指一个类的多个方法重名,但参数列表不同。

Override(重写)指多个类中有继承关系的一个方法同名,但实现不同。

23.小数默认都是double,如果要float的话就是在数字后加f

答案

24.抽象类与接口的区别

答案

抽象类是子类的基类,它是子类的通用特征的描述

接口是某一类通用功能的描述。

和子类没有必然的联系。

25.访问修饰符

答案

Public公有,其他类都可以访问

Protected保护,只有本类和子类可以访问

Private私有,只有本类可以使用

Internal内部,本程序集中的类可以使用。

26.标识符的命名规范

答案

Pascal标识符所有单词首字母都大写用于类,接口,属性,方法的命名

Camel标识符所有单词除首单词的首字母外其他首单词都大写,用于字段和内部变量的命名。

匈牙利标识符前面是类型缩写,后面所有单词首字母都大写,用于对象的命名。

27.C/S与B/S

答案

C/S就是客户机和服务器结构,在客户端需要安装一个软件.将业务需求合理的分配到客户机与服务器两端来进行.C/S结构的软件需要针对不同的操作系统开发不同版本的软件.如果产品的更新换代很快的话,就很难适应上百台电脑用户同时更新。

更新的代价很高.

      B/S结构即浏览器和服务器结构.它是随着互联网技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑是在服务器端(Server)实现,形成所谓三层3结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

以目前的技术看,建立B/S结构的网络应用,在互联网模式下数据传输,相对易于把握、成本也是较低的。

近似于一次性到位的开发,能实现不同的人员,从不同的地点,访问和操作共同的数据库.

28.给我一个你最常见到的runtimeexception

答案

如除零异常

29.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

答案

可以

30.Try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后

答案

会,在return前

31.请说出你所知道的线程同步的方法

答案

LockMonitor类

32.编程题求两个数的最小公倍数。

答案

求两个数的最大公约数,然后两个数想乘,在除于最大公约数就可以得到最大公倍数。

33.shorta=1,a=a+1有什么错?

shorta=1,a+=1有什么错

答案

1)a=a+1中的1要做强制类型转换为short。

2)没有错

34.编写一个类,求一元二次方程的实根

答案

x=double.Parse(a.Text);

y=double.Parse(b.Text);

z=double.Parse(c.Text);

if(x==0)

{

if(y!

=0)

{

n1=z/y;

x1.Text=n1.ToString();

//y1.Text=n2.ToString();

}

if(y==0&&z!

=0)

MessageBox.Show("b=0无解","wujie",MessageBoxButtons.OK,MessageBoxIcon.Warning);

if(y==0&&z==0)

MessageBox.Show("无数组解","00",MessageBoxButtons.OK);

}

if(x!

=0)

{

if(y*y-4*x*z>=0)

{

n1=(-y+Math.Sqrt(y*y-4*x*z))/(2*x);

n2=(-y-Math.Sqrt(y*y-4*x*z))/(2*x);

x1.Text=n1.ToString();

y1.Text=n2.ToString();

}

else

{

MessageBox.Show("无解","wujie",MessageBoxButtons.OK,MessageBoxIcon.Warning);

}

}

35.编写一个类,打印昨天当前时间

答案

classProgram

{

staticvoidMain(string[]args)

{

DateTimedt=DateTime.Now-newTimeSpan(1,0,0,0);//TimeSpan对象表示时间间隔或持续时间

Console.WriteLine(dt.ToString());

}

}

36.列举一种适合应用开发的分层结构,介绍每层的作用

答案

1)表现层显示数据和接受输入

2)业务逻辑层用于进行业务数据的处理

3)数据访问层用于访问数据

4)实体层用于控制数据传递对象

37.编写一个实现复数+,-,*,/的类

答案

class Complex    {

        private double m_dRealPart; 

       private double m_dImagePart;

        public Complex(double dRealPart, double dImagePart)

        {

            m_dRealPart = dRealPart;

            m_dImagePart = dImagePart;

        }

        public Complex(double dRealPart)

        {

            m_dRealPart = dRealPart;

            m_dImagePart = 0;

        }

        public Complex()

        {

            m_dRealPart = 0;

            m_dImagePart = 0;

        }

        public Complex(Complex orig)

        {

            m_dRealPart=orig.m_dRealPart ;

            m_dImagePart=orig.m_dImagePart ;

        }

        static public Complex operator +(Complex op1,Complex op2)

        {

            Complex res = new Complex();

            res.m_dRealPart = op1.m_dRealPart + op2.m_dRealPart;

            res.m_dImagePart = op1.m_dImagePart + op2.m_dImagePart;

            return res;

        }

        static public Complex operator -(Complex op)

        {

            Complex res = new Complex();

            res.m_dRealPart = -op.m_dRealPart;

            res.m_dImagePart = -op.m_dImagePart;

            return res;

        }

        static public Complex operator -(Complex op1, Complex op2)

        {

            Complex res = new Complex();

            res = op1 + (-op2);

            return res;

        }

        static public Complex operator *(Complex op1, Complex op2)

        {

            Complex res = new Complex();

            res.m_dRealPart = op1.m_dRealPart * op2.m_dRealPart - op1.m_dImagePart * op2.m_dImagePart;

            res.m_dImagePart = op1.m_dImagePart * op2.m_dRealPart + op1.m_dRealPart * op2.m_dImagePart;

            return res;

        }

        static public Complex operator /(Complex op1, Complex op2)

        {

            Complex res = new Complex();

            double temp = op2.m_dRealPart * op2.m_dRealPart + op2.m_dRealPart * op2.m_dImagePart;

            res.m_dRealPart = (op1.m_dRealPart * op2.m_dRealPart + op1.m_dImagePart * op2.m_dImagePart) / temp;

            res.m_dImagePart = (op1.m_dImagePart * op2.m_dRealPart - op1.m_dRealPart * op2.m_dImagePart) / temp;

            return res;

        }

        public double GetRealPart()

        {

            return m_dRealPart;

        }

        public double GetImagePart()

        {

          return m_dImagePart;

        }

}

38.什么是自定义控件?

动态如何传数据?

答案

1)概述:

自定义控件也是的一种服务器控件,体现格式为*.dll

2)适用场合:

当.net平台给我们提供的web服务器控件不够用的时候,就需要我们自己开发一个自定义控件,或者又称为第三方控件;可以把该种控件添加到工具箱中,然后就像使用Web服务器控件一样。

例如:

分页控件

3)在控件内部公开属性,通过给属性赋值进行数据的交互;控件最终体现在界面上的样式是靠重写父类的Render方法来实现的

39.写出一个函数实现对一个字符串的所有排列(说出实现思路)

答案

1)char[]chars=str.ToCharArray();

Array.Sort(chars);

2)冒泡排序算法

40.手写一个表单内容包括‘用户名text’‘年龄text’‘性别单选默认没有选中’‘提交按钮’‘重置按钮’

答案

41.手写一个表格,第一行2列,第二行1列

答案

100px;height:

100px”>

12

合并

42.抽象类和接口的区别

答案

1)接口:

inerface纯抽象的类,里面不能有任何实现的成员

2)抽象类:

abstract实现和非实现成员都可以有

43.用socket实现服务器端向客户端传递几个字符,在客户端输出

答案

UsingSystem.Net.Sockets;

//启动监听

TcpListenerobjLsn=newTcpListener(1000);

objLsn.Start();

SocketobjSocket=objLsn.AcceptSocket();

//发送

Stringmsg=“测试发送”;

Byte[]arr=System.Text.Encoding.Default.GetBytes(msg);

objSocket.Send(arr);

参考:

WinForm第八章Socket编程

44.写处一个单例模式类

答案

PublicclassSingleClass

{

PrivateSingleClass()

{}

StaticSingleClassobjClass=null;

PublicstaticSingleClassGetObject()

{

If(objClass!

=null)

{

objClass=newSingleClass();

}

ReturnobjClass;

}

}

45.表达式floatf=3.4对吗?

如果不对,请说明原因

答案

1)不对

2)在c#中,应为floatf=3.4f或者floatf=3;

46.x=4,y=6在不声明新变量的情况下交换x,y的值

答案

Intx=4;

Inty=6;

X+=y;

Y=x–y ;

X=x-y ;

47.Listlist=newList();对不对如何改正

答案

1)不对

2)List为泛型集合,Listlist=newList();

3)例:

Listlist=newList();

48.声明一个有100个元素的数组

答案

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1