Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不可空对象有什么问题?

不可空对象有什么问题?
EN

Stack Overflow用户
提问于 2009-01-28 01:49:38
回答 1查看 482关注 0票数 3

我最近一直在研究DbC和Spec#,它们似乎支持非空对象。不幸的是,Spec#似乎被抛弃了。

  1. Spec#似乎有很多很好的语言特性,所以为什么要放弃呢?
  2. 默认情况下,让所有对象都是非空对象是否有问题,所以您必须编写int?,字符串?甚至MailMessage?如果你真的想要一个可空的对象?
  3. 我在这里看到了一种Sql类比,您可以将类属性检查为可空或非空。您甚至可以像sql表列一样对属性施加约束吗?

我看不出像这样的特性在语言中有什么问题。有人能告诉我这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2009-01-28 01:52:37

你看过新的合同框架将成为.NET 4.0的一部分吗?

使它成为一个库而不是语言特性的好处是,它可以立即在所有语言中使用,而不需要语言团队的工作。显然也有缺点..。

链接:

说了这些之后,我想写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public Stream! Foo(string! x)

同时,指示Foo不能接收空引用,也不返回空引用。我认为,为这种类型的契约提供额外的语法是很方便的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/487046

复制
相关文章
空对象和空的对象
空对象:表面内部不包含任何属性和方法的对象,比如var obj={}就是一个空对象
十月梦想
2018/08/29
1.3K0
Pipenv有什么问题
这不是我第一次写Pipenv相关的文章,也相信不是最后一次,前两篇我用的是英文,(浅陋地)分析了Pipenv和Poetry的优劣,至今仍是我博客访问量最高的文章。今天是因为在知乎上看到两位朋友写的两篇文章(链接我放在文末了),吐槽了一通以后推荐大家不要使用Pipenv。说实话,作为核心维护者之一我是有点心酸的,因为他们说的那些问题的确都存在。在本文中我希望从一个核心维护者的角度,总结一下Pipenv存在的问题,作为一个告解。
岂不美哉Frost
2019/11/30
1.1K0
开发:异常收集之 ibatis查询集合有多个对象,但是对象都为空
对于这个问题,开始也有点摸不着头脑,经过调试,对于传入参数也获取到了,返回List的对象个数也对。问题就出在
执笔记忆的空白
2020/12/25
5460
深度学习有什么问题?
在本文中,我想将经典数学建模和机器学习之间建立联系,它们以完全不同的方式模拟身边的对象和过程。虽然数学家基于他们的专业知识和对世界的理解来创建模型,而机器学习算法以某种隐蔽的不完全理解的方式描述世界,但是在大多数情况下甚至比专家开提出的数学模型更准确。然而,在许多应用程序(如医疗保健,金融,军事)中,我们需要清晰可解释的决策,而机器学习算法,特别是深度学习模型并不是这样设计的。
商业新知
2019/04/24
1.1K0
深度学习有什么问题?
js判断空对象
如果它返回一个空数组,这意味着该对象没有任何可枚举的属性,这反过来意味着它是空的。
IT工作者
2022/01/04
18.5K0
“不可变的对象”与“不可变的对象引用”
什么是不可变的对象呢?我们都知道String是不可变的,如果有涉及大量的字符串拼接我们最好不要用String,虽然我们在代码中可以这样写: String str = "test"; str = "test1"; 这样写是没有错的,这是不是和我们所说的String类型时不可变的违背了呢?其实不然,我们这里看到str“改变”了值,其实不是不是真正改变了,而是改变了str的引用。我们从下图可以看到当定义String str = "test1"时,Java实际上做了这个操作(我们在这里不讨论String关于使用ne
用户1148394
2018/01/09
1.3K0
“不可变的对象”与“不可变的对象引用”
空对象(Null)模式
一个方法返回 NULL,意味着方法的调用端需要去检查返回值是否是 NULL,这么做会导致非常多的冗余的检查代码。并且如果某一个调用端忘记了做这个检查返回值,而直接使用返回的对象,那么就有可能抛出空指针异常。
MickyInvQ
2022/05/06
6080
空对象(Null)模式
JavaScript 判断空对象、空数组的方法
从表格中,我们可以看出想要判断是不是null, undefined , "", 0,都比较容易, 非操作 和 比较操作 都能实现。就是{}, []比较顽固,两种方法都无效。
celineWong7
2020/11/05
29.9K0
可变对象与不可变对象
  可以这样认为,操作该对象之前先将其复制一份,然后对该复制的对象进行操作,原来的对象不发生变化
py3study
2020/01/16
8800
可变对象与不可变对象
前阵子我们聊了下函数的参数传递以及变量赋值的一些内容:关于函数参数传递,80%人都错了。
Crossin先生
2018/07/24
8960
可变对象与不可变对象
“不可变的对象”与“不可变的对象引用”区别
我们从下图可以看到,当定义String str = "test1"时,其实不是真正改变了str的内容,而是改变了str的引用。
好派笔记
2021/10/08
1.4K0
java判断空对象为空_Java判断对象是否为空(包括null ,””)的方法[通俗易懂]
public static boolean isEmpty(Object obj)
全栈程序员站长
2022/06/25
7K0
tp5如何创建空对象(用于接口返回json空对象)
{ “code”: 1, “msg”: “成功”, “time”: “1660123209”, “data”: {}, }
超级小可爱
2023/02/20
4.2K0
java如何判断对象为空_java对象如何判断是否为空
在实际书写代码的时候,经常会因为对象为空,而抛出空指针异常java.lang.NullPointerException。
全栈程序员站长
2022/06/25
13.4K0
java如何判断对象为空_java对象如何判断是否为空
设计模式-空对象模式
一般情况在编写代码的时候判断为空需要通过null==来判断,而这样的写法很难看,一眼看下去几百行代码,密密麻麻都是这些判断,代码很不优雅,有时还漏判还会导致空指导异常。这个问题,java的空对象模式很不错的解决方案,可以做到优雅判断。
逍遥壮士
2020/09/18
9020
Python可变对象和不可变对象
Python中一切皆对象,每个对象都有其唯一的id,对应的类型和值,其中id指的是对象在内存中的位置。根据对象的值是否可修改分为可变对象和不可变对象。其中,
oYabea
2020/09/07
1.1K0
python可变对象和不可变对象
在Python中,对象按可变属性可以分为可变对象和不可变对象两种。理解这两种对象的差异对于编写高效且易于维护的代码至关重要。本文将介绍Python中的可变对象和不可变对象,以及在使用它们时需要注意的事项。
程序熵
2023/09/25
6520
python可变对象和不可变对象
Java 可变对象和不可变对象
作者:幽鸿   Mar 14, 2016 10:21:27 PM
幽鸿
2020/04/02
1.9K0
JavaScript中的类有什么问题
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/03/02
1.6K0
使用“空”对象替代引用是否为空判断
使用Null对象替代引用是否为空判断 编程语言中最常见运行时异常非NullPointerException莫属,只要程序依赖于外部的输入数据,比如说http请求传递的查询字符串参数、关系数据库连接、磁盘文件读取,空引用异常就无法避免。通常,程序需要满足某些条件才能正常的往下执行,假如这些条件依赖外部输入数据,而这些外部输入的数据肯定无法保证百分百不出错,比如说网络连接失败、数据库用户名密码错误等,当程序被这些节外生枝的障碍打断时,空引用异常就极有可能被引发。 比如说,原本我们调用一个方法,这个方法会执行连接
用户1608022
2018/04/11
7.6K0

相似问题

图像源不可读,有什么问题

19

TypeError:'int‘对象是不可调用的,有什么问题吗?

12

这个空检查有什么问题?

30

DateTime对象有什么问题

40

使用空for循环有什么问题吗?

92
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文