|
|
1
2
我可能会在一张纸上放一个盒子,用来写“谁是没有眼睛的人?”。我没有那个问题的答案,所以我把方框留空。空白的盒子对这个没有反应,着火,强迫我的手。。。它只是保持空白,正如预期的那样。
空支票。欢迎来到2018,你们这些c++裸机的家伙 |
|
2
2
有时候你想要什么
从第一天开始这就成了问题。C团队总是希望我们作为开发人员通过足够的空检查来“修复”这个问题。这就是我们一直在做的。 nullable reference types . 启用时,如果将可能不为空的变量指定为空或可能为空,则会出现编译器错误。 |
|
3
1
既然你来自C++,我们可以问“C++如何摆脱那些不能为空的引用”。简单的答案是“它有空指针,所以不需要空引用”。有两种不同的变量,它们表示对象的引用(具有非常不同的规则和语法),使得C++ 这么多 对, Tony Hoare 考虑一下这个简单的C代码:
C++引用非常方便,但它们也非常限制。它们不仅必须在声明时被赋值,而且是不可变的(变量-而不是它们引用的对象)。一旦声明并初始化C++引用,就不能更改它引用的内容。如果C#引用遵循此规则,下面的代码将很有意思(忽略这样一个事实,即循环中的字符串连接几乎总是一个坏主意):
是的,对付零分是一种痛苦。大多数(但不是所有)语言都有。C语言(与引用类型和值类型的组合共享一个变量语法)比C++更容易读/理解/拾取。我发现我在写作 很多 C#8.0的人认为他们有一个解决方案(这不是一个完整的解决方案,但它应该使空引用异常更加罕见)。我很好奇你对C#如何避免霍尔博士数十亿美元的错误有什么想法。 |
|
|
4
0
这种方式
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |