.NET面试题(二)

1.c# 中new关键字的作用

   实例化对象和调用构造函数:当使用 new 关键字创建一个类的实例时,它会为对象分配内存,并调用相应的构造函数来初始化该对象。

   隐藏基类成员(方法、属性、事件等):当在派生类中使用 new 修饰符声明一个与基类同名的成员时,它会隐藏基类中的成员。这不同于覆写(override),因为隐藏的成员不会参与虚拟或抽象方法的调用。

csharp 复制代码
class BaseClass {
    public void MyMethod() { ... }
}

class DerivedClass : BaseClass {
    new public void MyMethod() { ... }
}

   作为泛型约束:在使用泛型编程时,可以使用new()约束来指定泛型类型必须有一个无参数的公共构造函数。这允许你在泛型类内部创建该类型的实例。

csharp 复制代码
public class GenericClass<T> where T : new()  
{  
    public T CreateInstance()  
    {  
        return new T(); // 由于new()约束,我们知道T有一个无参数的构造函数  
    }  
}

   创建匿名类型:new 关键字可以与对象初始值设定项一起使用来创建匿名类型。

csharp 复制代码
var obj=new {name="名称",value="值"}

2.int?和int有什么区别

   C#中,int?和int都是整数类型。

   int是C#中的一个整数数据类型,表示32位的有符号整数。它不能赋值为null,默认值为0。

   int?是int类型的 nullable 版本,也被称为可空整数类型。它可以赋值为null,默认值为null。

3.C#中值传递与引用传递的区别是什么?

相关推荐
Tony Bai17 小时前
从 Go 迁移到 Rust
开发语言·后端·golang·rust
雪豹阿伟17 小时前
12.C# —— 经典排序 +(ArrayList / 泛型 List / Dictionary)
c#·上位机
江屿风17 小时前
【C++笔记】string类流食般投喂
开发语言·c++·笔记
我是一颗柠檬17 小时前
【JDK8新特性】JDK8实战与面试高频考点汇总Day12
java·开发语言·后端·面试·职场和发展
wjs202417 小时前
C# 索引器(Indexer)
开发语言
Brilliantwxx17 小时前
【算法题】 面试级别的二叉树题目OJ复习(下)
数据结构·c++·算法·leetcode·面试·哈希算法·推荐算法
千寻girling17 小时前
机器学习 | 监督学习算法(了解) | 尚硅谷学习
开发语言·人工智能·后端·python·学习·算法·机器学习
阿方.91817 小时前
C++ string 超全精讲 | 从零使用、底层原理、手搓简易string、高频考点、易错点、面试手撕
开发语言·c++·字符串·string·知识分享
Chase_______17 小时前
【Java基础】5 / 2 为什么等于 2?整数除法、取余和 floorMod 一次讲清
java·开发语言
foundbug99917 小时前
实现MATLAB滚动轴承故障诊断
开发语言·matlab