经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
.NET题目(收集来自网络)
来源:cnblogs  作者:JoyandJoys  时间:2018/10/25 9:37:23  对本文有异议

1: .NET和c#有什么区别?

  1. 答: .NET一般是指.NET FrameWork框架,是一种平台,一种技术
  2. c#是一种编程语言,是可以基于.NET平台的应用

2: c#中的委托是什么?事件是不是一种委托?

  1. 答:
  2. 1:委托可以理解为指向一个函数的引用,它可以把一个方法作为参数代入另一个方法
  3. 2:是,事件是一种特殊的委托

3: 简述 private , protected , public , internal 修饰符的访问权限

  1. 答:
  2. private: 私有成员,在类内部才可以访问
  3. protected: 保护成员,该类内部和子类中可以访问
  4. public: 公共成员, 完全公开,没有访问权限
  5. interna: 在同一命名空间可以使用
  6. 范围大小: public > protected > interna > private

4: 重写与重载的区别?

  1. 答:
  2. 1: 方法重写是子类与父类之间的关系,是垂直关系. 重载是同一个类中方法之间的关系,是水平关系
  3. 2: 重写是只能由一个方法或一对方法产生关系.重载是多个方法之间的关系
  4. 3: 重写要求参数列表相同,重载要求参数列表不同
  5. 4: 重写调用哪个方法是由调用的对象决定的,重载调用哪个方法是由参数列表来决定的
  6. 5: 重载与返回类型和异常无关

5: 请遍历页面上所有的textbox控件并给他们赋值为string.Empty

  1. 答:
  2. foreach(Control control in this.Controls){
  3. if(control is TextBox tb){
  4. tb.Text = string.Empty;
  5. }
  6. }

6: 描述一下c#中索引器的实现过程,是否只能根据数字进行索引

  1. 答:
  2. 1: 索引器没有名字
  3. class Indexer<T>{
  4. private T[] data = new T[100];
  5. public T this[int i]{
  6. get{return data[i];}
  7. set{data[i] = value;}
  8. }
  9. }
  10. 2: 不是,可以用任意类型

7:下面例子输出的结果是?

  1. using System;
  2. class A
  3. {
  4. public A()
  5. {
  6. PrintFields();
  7. }
  8. public virtual void PrintFields(){}
  9. }
  10. class B:A
  11. {
  12. int x=1;
  13. int y;
  14. public B()
  15. {
  16. y=-1;
  17. }
  18. public override void PrintFields()
  19. {
  20. Console.WriteLine("x={0},y={1}",x,y);
  21. }
  22. }
    当使用new B() 创建b的实例时,产生什么输出?
    答: x=1,y=0

派生类及构造函数的调用顺序: 实力成员初始化 -> 基类构造函数 -> 派生类构造函数

8: CTS , CLS , CLR 分别是什么?

  1. 答:
  2. CTS: 通用类型系统
  3. CLS: 通用语言规范
  4. CLR: 公共语言运行库

9: 什么是装箱,拆箱?

  1. 答:
  2. 装箱: 值类型 -> 引用类型
  3. 拆箱: 引用类型 -> 值类型
  4.  
  5. 如何避免装箱,拆箱:使用泛型

10: 什么是受管制的代码?

  1. 答:
  2. 托管代码,由公共语言运行库环境(而不是直接由操作系统)执行的代码

11: 什么是请类型系统?

  1. 答:
  2. 要求变量和对象有明确的类型

12: .NET中读写数据库需要用到哪些类,以及作用?

  1. 答:
  2. dataSet: 数据库存储器
  3. dataCommand: 执行命令语句
  4. dataAdapter: 数据集合,用语填充

13: 在.NET中,配件的意思是?

  1. 答:
  2. 程序集,(中间语言,源数据,资源,装配清单)

14: 常用的调用WEBSERVICE的方法有哪些?

  1. 答:
  2. 1: 使用WSDL.exe命令行工具
  3. 2: 使用VS.NETAdd Web Reference 菜单选项

15: .net Remoting的工作原理是什么?

  1. 答:
  2. 服务器端向客户端发送一个进程编号,一个程序与编号,以确定对象的位置

16: 在c# 中 string str = "" string str = null 有什么不同?

  1. 答:
  2. null是不分配内存空间
  3. ""是分配了长度为空的内存空间

17: 描述 类和结构的异同?

  1. 答:
  2. 类是属于引用类型,可以被实例化,是分配在内存堆上的
  3. 结构是属于值类型,是分配在内存栈上面的

18: 分析以下代码完成填空

string strTmp = "abcdefg某某某";
int i = System.Text.Encoding.Default.GetBytes(strTmp).Length;
int k = System.Text.Encoding.UTF8.GetBytes(strTmp).Length;
int j = strTmp.Length;

  1. 答:
  2. i = 13, j = 10 , k = 16
  3. 默认一般为gbk,英文占一个字节,中文两个字节.如果是utf8 英文占一个字节,中文占三个字节

19: SQL SERVER服务器中,给定表table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号,LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号

  1. 答:
  2. select ID from table1 where LastUpdateDate = ( select Max(LastUpdateDate) from teble1)
  3.  
  4. 先找出最大的更新时间,再找出最大更新时间对应的编号

20: 简要谈一下对微软.net 框架下Remoting 和 webservice两项技术的理解以及实际中的应用?

  1. 答:
  2. remoting 可以利用tcp/ip ,二进制传送提高效率
  3. ws主要是可利用http ,穿透防火墙

21: 写出一条Sql语句:取出表A中第31到第40记录(SQL Server,以自动增长的ID作为主键,注意:ID可能不是连续的。

  1. 答:
  2. select top 10 * from A where ID not in (select top 30 ID from A)

22: 面向对象语言具有继承,封装和多态三大特性

23: 能用foreach遍历访问的对象需要实现IEnumerable接口或声明IEnumerator方法的类型

24: GC是什么?为什么要有GC?

  1. 答:
  2. GC是垃圾回收机制.程序员不用担心内存管理,因为垃圾回收机制会自动进行管理
  3. 要请求垃圾收集,可以调用下面方法之一: Mark Sweep/Compact GC.Collect();

25: string s = new string("xyz");创建了几个对象?

  1. 答:
  2. 两个对象,一个是xyz对象,一个是指向xyz的引用对象s

26: 启动一个线程是用run() 还是 start()?

  1. 答:
  2. start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由jvm调度并执行,这髌骨意味着线程就会立即运行
  3. run()方法可以产生必须退出的标志来停止一个线程

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

  1. 答:
  2. 接口可以继承接口
  3. 抽象类可以实现接口
  4. 抽象类可以继承实体类

28: 构造器是否可被重写?

  1. 答:
  2. 构造器不能被继承,因此不能被重写,但可以被重载

29: 是否可以继承string类?

  1. 答:
  2. string类是密封类,故不可以被继承

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

  1. 答:
  2. 会执行,在return前执行

31: 两个对象值相同(x.equals(y)== true),但却可有不同的hash code,这句话对不对?

  1. 答:
  2. 不对,有相同的hash code

32: short s1 = 1; s1 = s1+1;有错吗?有什么错?

  1. 答:有错,不能被隐式转换
  2. s1 short型, s1+1int型,不能被隐式转换为short型.可修改为s1 = (short)(s1+1)

33: 如何处理几十万条并发数据?

  1. 答:
  2. 用存储过程或者事务.取得最大标识的时候同时更新,注意主键不是自增量方式,这种方法并发的时候是不会有重复的主键的,,取得的最大标识要有一个存储过程来获取

34: session有什么重大bug,微软提出了什么方法来解决?

  1. 答:
  2. iis中由于有进程回收机制,系统繁忙的话session会丢失,可以用stateserver或者sql server数据库的方式存储session,不过这种方式比较慢,而且无法捕获sessionend事件

35: 进程和线程的区别?

  1. 答:
  2. 进程是系统进行资源分配和调度的单位
  3. 线程是cpu调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源

  

 

 

 

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号