gpt4 book ai didi

c# - "where : class, new()"和 "where : new()"之间有什么区别吗?

转载 作者:行者123 更新时间:2023-12-02 17:40:55 25 4
gpt4 key购买 nike

在 C# 中编写泛型类或函数时,where : class, new()where : new() 之间有什么区别吗? new() 是否暗示它也是 class

据我了解 this结构不能有无参数构造函数

最佳答案

Does new() imply that it is also class?

不,new() 只是意味着该类型有一个公共(public)默认构造函数。类和结构都可以有这样的构造函数。这两个约束都以任何方式暗示另一个约束。

As I understand from this structs cannot have parameterless constructors

该文档中的关键字是“显式”,即您在代码中声明的构造函数。默认构造函数是一个隐式无参数构造函数,当类型没有显式构造函数定义(带或不带参数)时,由编译器为该类型创建。

关于c# - "where : class, new()"和 "where : new()"之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483017/

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