c# - 哪些 C# 数据类型可以是可空类型?

标签 c# nullable

谁能给我一个列表,或者告诉我在哪里可以找到可以为 null 类型的 C# 数据类型列表?

例如:

  • 我知道Nullable<int>没关系
  • 我知道Nullable<byte[]>不是。

我想知道哪些类型可以为空,哪些不可以。顺便说一句,我知道我可以在运行时对此进行测试。但是,这是我们正在编写的代码生成器,所以我没有实际类型。我只知道一列是stringint32 (等)。

最佳答案

所有值类型(Nullable<T> 本身除外)都可以用于可空类型——即所有派生自System.ValueType 的类型。 (这还包括 enum s!)。

原因是 Nullable 声明如下:

struct Nullable<T> where T : struct, new() { … }

关于c# - 哪些 C# 数据类型可以是可空类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834289/

相关文章:

c# - 从字符串动态构建 LINQ 查询

c# - MongoDB:是否可以在文档中使用第二个 objectID 以用于更新的并发检查?

c# - 将 Nullable<Boolean> 转换为通用类型

c# - C# 8.0 中是否有针对非空的 "check and get"运算符?

c# - 具有可为空文字的非常时髦的 C# 编译器行为

c# - 将字符串解析为 Unity3D 中的代码 (C#)

c# - 在运行时添加通用约束?

c# - 将 KeyVault secret 传递给 VSTS 中的 .net core 2 xUnit/MsTest

kotlin - 使用 Kotlin 在 RxJava 中处理可空类型

java - 在 Kotlin 中测试非空参数