![]() |
1
15
我会用这个:
这意味着,如果 我 是 无效的 ,将分配0。 |
![]() |
2
12
使用C#团队专门为您实现的表单。如果有人反对,告诉他们安德斯说没关系。 我轻率地说,为了给你一个良好的编程体验,在将可空类型集成到c#中做了很多工作。 请注意,就性能而言,这两种形式都编译为相同的IL,即:
C#编译器处理后,结果如下:
|
![]() |
3
8
我总是使用(I==null)形式。它表示你正在做什么。 回答第二个问题,我认为两种形式都可以。然而,我总是先检查null并采取适当的行动——也许把检查和行动包装在一个辅助方法中(通常它只是设置一个默认值)。 |
![]() |
4
4
我在实践中没有使用过Nullable Types,但对于第二种类型,我实际上建议使用j.GetValueOrDefault()。文档表明,如果值为空,后者实际上会抛出InvalidOperationException。取决于explicit cast操作符的内部实现时间长吗?前者也可能。我会坚持使用GetValueOrDefault,并适当地处理空/默认情况。 |
![]() |
5
1
我倾向于在两者上都使用第一个,因为它需要在生命周期的后期得到支持,这些似乎更容易理解原作者的意图。 |
![]() |
6
1
打开反射器。HasValue是对布尔标志的查找,该标志在值更改时设置。因此,就周期而言,查找比比较更快。
|
![]() |
7
0
它们都是一样的,但我会在两者上使用前一个版本,因为它在语言中更常见:与null进行比较并转换为类型。 |
![]() |
8
0
在这两种情况下,我通常倾向于选择第一种,因为它更“原始”,而不是面向对象(这正是我们想要的),但这真的没那么重要 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |