nullable相关内容

是否可以在Kotlin中将安全内联Optional设置为可选?

有时在Kotlin中,我必须使用双重可空性.例如,当我想使用 T?时,我需要双重可空性,其中 T 可能是可为空的类型.有几种方法可以做到这一点: Holder?,其中 Holder 是数据类Holder(val元素:T)-示例 1 用于表示第二种 null 的特殊 UNINITIALIZED_VALUE - 此 Optional 的第一个问题是 public构 ..
发布时间:2021-05-28 19:39:38 其他开发

将值解析为可为空的枚举

比方说我有这个: PriorityType?优先事项;字符串userInput = ...; 我无法更改其定义方式: PriorityType?优先级,因为它实际上是与另一段代码的合同的一部分. 我尝试过此方法,但是它不起作用: if(Enum.TryParse(userInput,out priority)){ 正确的方法是什么? 解决 ..
发布时间:2021-05-04 20:23:55 C#/.NET

Interlocked.Exchange可为空的十进制

我想交换两个可为空的十进制值,如下所示: o2 = Interlocked.Exchange(ref o1,o2); 类型为“十进制?"为了将其用作通用类型或方法"System.Threading.Interlocked.Exchange(ref T,T)"中的参数"T",必须为引用类型. 有没有比这更好的主意了? 十进制?temp = o1;o1 = o2;o2 =温度; 提 ..
发布时间:2021-04-29 20:36:55 C#/.NET

C#中可为空的DateTime

我有两个有关DateTime评估的问题 DateTime?y = 1 == 1?null:DateTime.MaxValue;约会时间?y = null;//作业按预期工作 为什么第一次分配在 null 和 DateTime之间产生类型转换错误? 在c#中对 DateTime?进行空赋值的首选方法是哪种? DateTime?x =默认值(DateTime?);//在控制台上打印n ..
发布时间:2021-04-29 20:00:24 C#/.NET

声明"Nullable< string> []"或"string []?"对于一个类中可能存在或可能不存在的字符串数组属性?

我有一个像这样的JSON文件: [{"Id":1,“大小":“大",“订单":6},{"Id":2“尺寸":“小",“订单":4},{"Id":3,“大小":“中等",“订单":2“筹码":[]}] chips属性是一个数组,该数组可能会或可能不会出现在某些对象中(此刻当前为null).我应该这样声明json文件的类吗? 公共类设置{public int ID {get;}公共字符串大小 ..
发布时间:2021-04-22 19:05:38 C#/.NET

C#:默认文字和可空结构的类型推断

从C#7.1开始,可以通过使用 default 来获取默认值,而无需指定类型.我今天尝试了一下,发现可为空的结构和可为空的值类型的结果有些违反直觉. [TestFixture]公共课测验{私人班级人{公共字符串名称{get;放;}public int年龄{get;放;}}[测试]公共无效ShouldBehaveAsExpected(){var person1 = new Person {Nam ..
发布时间:2021-04-18 20:52:59 C#/.NET

c#:从可为空的类型分配

如果我有一个可为空的“十进制d",并且想将d赋给不可为空的e,那么正确的方法是什么? 解决方案 小数e = d?0.0; ..
发布时间:2021-04-18 20:13:00 C#/.NET

GetValueOrDefault如何工作?

我负责LINQ提供程序,该提供程序对C#代码执行一些运行时评估.例如: int?事物= null;accessor.Product.Where(p => p.anInt == Thing.GetValueOrDefault(-1)) 由于 thing 为空,当前以上代码不适用于我的LINQ提供程序. 我使用C#已有很长时间了,但我不知道如何实现GetValueOrDefault,因此 ..
发布时间:2021-04-18 19:28:54 C#/.NET

在C#8.0中调用方法之前,感叹号是什么意思?

我发现了一个看似用C#8.0版编写的代码.在代码中,在调用方法之前有一个感叹号.这部分代码是什么意思,最重要的是,它的用途是什么? var foo = Entity!.DoSomething(); 解决方案 这将是空宽容运算符. 它告诉编译器“这不是null,请相信我",因此它不会针对可能的null引用发出警告. 在这种特殊情况下,它告诉编译器 Entity 不为null. ..
发布时间:2021-04-18 19:28:23 C#/.NET

Nullable< HasValue或Nullable< T>之间有什么区别?!=空吗?

我总是使用 Nullable .HasValue ,因为我喜欢这种语义.但是,最近我正在研究别人的现有代码库,他们在其中使用了 Nullable.!= null 专门代替. 是否有理由优先使用一个,还是纯粹出于偏爱? int?一种;如果(a.HasValue)//... vs. int?b;如果(b!= null)//... 解决方案 编译器用对 HasVa ..
发布时间:2021-04-18 18:30:46 C#/.NET

可空数组以及为什么需要它们

我看到了这样的代码,并且我将其理解为使数组可为空,但是我不明白为什么我们需要它,因为数组是ref类型,因此它们已经可以为空. 所以,我的问题是为什么我们需要这个? 私有只读十进制?[] _amounts =新十进制?[_ count]; 解决方案 值得一提的是,在C#8.0中,您可以使用可空引用类型: https://docs.microsoft.com/zh-我们/dotnet/c ..
发布时间:2021-04-16 20:41:32 C#/.NET

具有可为空的参数调用具体类型的泛型重载方法

我希望能够调用具有Nullable参数的通用foo方法.当Foo方法的主体调用Foo()时,它将进行递归操作,从而导致堆栈溢出(没有.com).有没有一种方法可以让if语句中的调用以运行时类型调用正确的重载? 我知道可以更改名称,并且我知道为什么会进行递归,但是不知道另一种写法. 感谢您的光临. class程序{静态void Main(string [] args){诠释?x = ..
发布时间:2021-04-01 21:53:28 C#/.NET

如何正确处理System.Nullable< T>LinqToSql类的字段?

我有一个带有一些可为null的double字段的表.与LinqToSQL一起尝试直接使用该字段,我得到了 参数类型System.Nullable不能分配给参数类型double 我该如何正确处理? 解决方案 问题与Linq无关.这与 double 和 double?/ Nullable 之间的转换有关. 不允许从 double?到 double 的隐式转换 ..
发布时间:2021-04-01 20:42:39 C#/.NET

字符串模板中的可空var

Kotlin具有称为字符串模板的功能.在字符串中使用可为空的变量是否安全? override fun onMessageReceived(messageEvent: MessageEvent?) { Log.v(TAG, "onMessageReceived: $messageEvent") } 如果messageEvent是null,上面的代码是否会抛出NullPointerE ..
发布时间:2021-02-15 19:21:23 其他开发

如何用零填充可为空的整数?

有什么方法可以像普通int一样填充可为null的int值? myInt.ToString("D3")似乎不适用于nullale整数,但是对于我当前的项目,我感觉我需要使用可为空的int,以便在数组中获取null值,而不是默认值0 解决方案 这是因为int?实际上是Nullable,其中T是int. 调用ToString将在Nullable结构而不是int上调用它. Nul ..
发布时间:2020-11-29 19:12:49 C#/.NET