• .NET题目(收集来自网络)


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

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

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

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

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

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

    4: 重写与重载的区别?

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

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

    答:
    foreach(Control control in this.Controls){
        if(control is TextBox tb){
             tb.Text = string.Empty;      
          }      
    }
    

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

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

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

    using System;
    class A
    {
    public A()
    {
    PrintFields();
    }
    public virtual void PrintFields(){}
    }
    class B:A
    {
    int x=1;
    int y;
    public B()
    {
    y=-1;
    }
    public override void PrintFields()
    {
    Console.WriteLine("x={0},y={1}",x,y);
    }
    }
    当使用new B() 创建b的实例时,产生什么输出?
    答: x=1,y=0

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

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

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

    9: 什么是装箱,拆箱?

    答:
    装箱: 值类型 -> 引用类型
    拆箱: 引用类型 -> 值类型
    
    如何避免装箱,拆箱:使用泛型
    

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

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

    11: 什么是请类型系统?

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

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

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

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

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

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

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

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

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

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

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

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

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

    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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    答: 
    接口可以继承接口
    抽象类可以实现接口
    抽象类可以继承实体类
    

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

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

    29: 是否可以继承string类?

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

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

    答:
    会执行,在return前执行
    

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

    答:
    不对,有相同的hash code
    

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

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

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

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

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

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

    35: 进程和线程的区别?

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

      

     

     

  • 相关阅读:
    Web前端可以转行做游戏吗?
    SublimeText3常用快捷键和优秀插件(亲测)
    jQuery编程规范与最佳实践(附带一些个人的笔记)
    outline详解
    几种创建XMLHttpRequest对象的方法
    8条规则图解JavaScript原型链继承原理
    技术跟产品杂谈
    谈一谈URL
    React + Reflux 渲染性能优化原理
    Interesting JavaScript
  • 原文地址:https://www.cnblogs.com/joyandjoys/p/9837523.html
Copyright © 2020-2023  润新知