.NET/C#⾯试题汇总系列:底子语法

[复制链接]
发表于 2026-1-28 08:49:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1. 字符串中string str=null和string str=""和string str=string.Empty的区别?

   
       
  • string str = null;:这种方式声明白一个字符串变量str,并将其初始化为null。这意味着str不指向任何现实的字符串对象。假如你试图访问str的属性或方法,将会抛出一个NullReferenceException非常。
       
  • string str = "";:这种方式声明白一个字符串变量str,并将其初始化为空字符串("")。这意味着str是一个有效的字符串对象,但它的长度为0,没有任何字符。你可以安全地调用str的方法,而不会抛出非常。
       
  • string str = string.Empty;:这种方式与string str = "";雷同,都是将str初始化为一个空字符串。使用string.Empty是一种编程风俗,由于它明确表现你的意图是将字符串初始化为空。然而,在性能方面,这两种方式没有区别。
      
    总结一下,
  假如你想要声明一个未初始化的字符串变量,可以使用string str;(默认环境下,局部变量会被初始化为null)。
  假如你想要将字符串初始化为空,可以使用string str = "";或string str = string.Empty;。
  2. byte b = 'a'; byte c = 1; byte d = 'ab'; byte e = '啊'; byte g = 256; 这些变量有些 错误是错再哪⾥?

   在C#中,byte是一种根本数据范例,用于表现一个8位无符号整数。它的取值范围是0到255。byte范例的变量可以用来存储二进制数据、图像数据、音频数据等。
  3.string和StringBuilder的区别,两者性能的⽐较

   
       
  • 可变性:string是不可变的,这意味着一旦创建了一个string对象,就不能更改它的内容。而StringBuilder是可变的,可以在不创建新对象的环境下修改其内容。
       
  • 性能:由于string的不可变性,每次对其举行修改时,都须要创建一个新的string对象,这会导致额外的内存分配和垃圾接纳开销。而StringBuilder在修改时不会创建新的对象,因此在举行大量字符串利用时,使用StringBuilder的性能会更好。
      
   4.什么是扩展⽅法?

   扩展方法(Extension Methods)是一种在C#中为现有范例添加新功能的方法,而无需修改原始范例的源代码。
    条件:按扩展⽅法必须满⾜的条件,
  1.必须要静态类中的静态⽅法
  2.第⼀个参数的范例是要扩展的范例,而且须要添加this关键字以标识其为扩展⽅法
    发起:通常,只在不得已的环境下才实现扩展⽅法,并审慎的实现
  使⽤:不能通过类名调⽤,直接使⽤范例来调⽤
   5.byte a =255;a+=5;a的值是多少?

    byte的取值范围是0--255,a+=1时,a的值时0,所 以a+=5时,值是4
   6.什么是装箱和拆箱?

   装箱:将值范例转换为引用范例的过程称为装箱
  1. int num =
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表