gpt4 book ai didi

c# - 关键字 default 和 new 有什么区别

转载 作者:太空狗 更新时间:2023-10-29 22:13:46 26 4
gpt4 key购买 nike

下面是一个示例类,

public class Loan
{
}

现在,下面两行之间有什么区别,它们之间有什么区别?

Loan loan = default(Loan);
Loan loan = new Loan();

是否优先使用其中一个?

最佳答案

default 用于将值清零。对于引用类型,即 null。对于值类型,这实际上与使用不带任何参数的 new 相同。 default 非常适合泛型。

new 创建该类型的实例,调用构造函数。

在你的例子中,如果我这样做:

Loan loan = default(Loan);

或在较新版本的 C# 中:

Loan loan = default;

逻辑上等同于

Loan loan = null;

如果你不构造它,你会得到一个空引用异常:

loan.MakePayment(100); // Throws

关于c# - 关键字 default 和 new 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com