c# - 在 C# 中 'where T : class?' 是什么意思

标签 c# syntax

在 C# 中,where T : class? 是什么意思(注意类约束末尾的问号)

例如

public IList<T> DoThis<T>() where T : class?

最佳答案

?附加到 C# 中的类型(从版本 8 开始支持)意味着它是一个 nullable reference type . class?意味着调用代码必须传入一个类型参数,它是 class , 并且可以为空。

例如,DoThis<string?>(someNullableString)已验证。它也可以用不可为空的版本调用,例如DoThis<string>(someNonNullableString) .

关于c# - 在 C# 中 'where T : class?' 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60557094/

相关文章:

java - 缺少标识符,即使它在上面定义了一行?

c# - 如何使用 C# 驱动程序检查 MongoDB 中是否存在集合?

c# - 自动更新 Windows 应用程序

c# - SQL SMO 执行批处理 TSQL 脚本

JQuery按名称选择问题

powershell - 如何在命令行上传递一系列值-将表达式作为参数传递

javascript - 为什么添加括号可以防止错误?

c# - 调试时如何启动带有参数的程序?

c# - 使用图形的图形布局#

sql - SELECT Column_Name Column_Name from Table_Name(无逗号)