nullable 相关问题

可空标记用于与可空成员或类型相关的问题。 null用于表示缺失值或未知值。

C# 8 - 在泛型中使用类型的可空和不可空版本

我需要在同一个泛型中使用两个版本的基类型:可为空和不可为空。 像整数?和 int,Guid?和GuidOnly?和 DateOnly 等等。 可空类型应该在类 pro...

回答 1 投票 0

为什么要将short null值转换为int null值来与null进行比较?

当我比较可为空的短值时,编译器首先将它们转换为整数以与 null 进行比较。例如,考虑这个简单的代码: 短的? c测试A; if (cTestA == null) { ... } 我...

回答 2 投票 0

有没有更优雅的方式来添加可空整数?

我需要添加大量可空 int 类型的变量。我使用空合并运算符将其缩减为每行一个变量,但我感觉有一种更简洁的方法可以做到这一点,例如...

回答 10 投票 0

将 HasValue 重写为 ??运营商

重写以下代码是否安全: 布尔 b = foo.bar.HasValue ? foo.bar.Value : false; 到 布尔 b = foo.bar.Value ??错误的; 其中 bar 是可为 null 的 bool 类型?

回答 8 投票 0

对于传入 T 可以是类或结构的泛型方法,是否可以返回可为 null 的 T?

虚拟代码: // TSource1 elementObj 可以是结构体,也可以是类对象,并且永远不能是可为空的结构体或 null(因为在这种情况下方法内部代码将创建异常) 公开

回答 1 投票 0

C# 帮助编译器推断可空性

考虑 C# 中的这个简单类(启用了可空性功能): 公共类错误 { 公共字符串消息=“...”; 公共静态隐式运算符 bool(Error? err) => err 不是

回答 1 投票 0

可空引用类型:如何指定“T”?类型不受类或结构的限制

我想创建一个具有 T 类型成员的泛型类。T 可以是类、可为 null 的类、结构体或可为 null 的结构体。所以基本上什么都可以。这是一个简化的示例,显示了我的 p...

回答 2 投票 0

可空诊断 CS8621 无故引发

我在一个单独的项目中有一个剃刀组件,它定义了如下搜索参数: [参数,编辑器必填] 公共功能>>搜索{获取;放; ...

回答 1 投票 0

如何将值标记为不应为空?

我有一个函数被正确指定为返回一个可能为空的对象。我的代码调用该函数,但调用方式不会返回 null。 我的班级? MyFunction(字符串 x); /...

回答 1 投票 0

我想代表用户 ID 获取角色名称,而此加入代码 Rolname 将变为 nulll

public IActionResult 登录(UserDto dto) { 尝试 { var roleName = (来自 _context.Roles 中的 r 将 u 加入 _context.Users,r.UserId 等于 u.UserId ...

回答 1 投票 0

为什么在没有约束的泛型方法上将可空值类型与 null 进行比较会更慢?

我遇到了一个非常有趣的情况,在泛型方法中比较可空类型与 null 比比较值类型或引用类型慢 234 倍。代码如下: 静态...

回答 3 投票 0

分配布尔值?布尔

考虑以下代码: 布尔x; 布尔? y = 空; x = y ??真的; 分配一个布尔值?转换为 bool 是编译时错误,但上面的代码在编译和运行时均成功。为什么?虽然...

回答 3 投票 0

‘.’ null 可空操作符

如何访问 null nullable 的 HasValue 属性? 我查看了编译后的代码,它不是语法糖。 为什么这不会抛出 NullReferenceException: 整数? x = 空; 如果 (x.

回答 2 投票 0

if 条件可空

Nullable 有很多语法糖,如下所示: 整数?解析为 Nullable 整数? x = 空 if (x != null) // 解析为 if (x.HasValue) x = 56; // 解析为 x.Value = 5...

回答 10 投票 0

可空枚举的扩展方法

我正在尝试为可为空的枚举编写扩展方法。 就像这个例子一样: // ItemType 是一个枚举 项目类型?物品; ... item.GetDescription(); 所以我写了这个无法编译的方法...

回答 4 投票 0

Clickhouse create from select 当为可为空(Int8)列指定 null 时将值设置为 0

我正在尝试使用以下 SQL 在 ClickHouse 中创建一个表 创建表 stage.test_int_null ( is_active 可空(Int8), 名称字符串 ) 引擎 = MergeTree() ORDER BY (元组()) AS 选择

回答 1 投票 0

检查方法内部是否传递了某些可选参数

如何检查可选参数是否传递给方法? public void ExampleMethod(int 必需,字符串可选str = "默认字符串", int 可选 int = 10) { if(可选int是p...

回答 11 投票 0

如何在Nullable<long>上造成撕裂?

如果我在 x86(32 位)模式下运行以下代码(最近的 Windows 11 计算机上的 .NET Framework 4.7.2),那么,正如预期的那样,它会写入控制台(证明读出的数据不是一个)两个VA...

回答 1 投票 0

抑制CS8632有什么不好的后果吗?

我正在开发尚未启用的代码库。有一个模糊的想法是我们将很快激活可空性。 在编写代码时,我有时会受到诱惑......

回答 1 投票 0

如何使用数组进行空安全调用(?.运算符)?

我正在尝试使用安全调用(?.运算符)从可为空数组中获取项目。 数据类 myObject(val i: Int) var arr:数组? = arrayOf(myObject(123),myObject(456)) // var arr: A...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.