乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 162|回复: 12

对我来说是新的东西。

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-25 12:15:41 | 显示全部楼层 |阅读模式
我今晚遇到了这个代码,它让我陷入困境 。
编辑器 ed = default(Editor);。
ed = AcadApp.DocumentManager.MdiActiveDocument.Editor;。

PromptPointResult ppr1 = default(PromptPointResult);。
ppr1 = 编辑,GetPoint(new PromptPointOptions(“Select Start Point”));。

如果 (ppr1.Status != PromptStatus.OK) {return;}。

PromptPointResult ppr2 = default(PromptPointResult);。
ppr2 = ed.GetPoint(new PromptPointOptions(“Select end point”));。
如果 (ppr2.Status != PromptStatus.OK) {。
返回;。
}。
源代码 http://adndevblog.typepad.com/autocad/2015/11/mleader-text-that-reflects-mleaderstyle-settings.html代码在网络加载后编译和执行,我的查询是关于默认关键字的使用,我的帮助文件将其与类型未知的泛型相关联。https://msdn.microsoft.com/EN-US/library/xwth0h0d(v=VS.140,d=hv.2).aspx这对我来说已经很晚了,我有点脑死亡,但我不明白为什么使用关键字。任何人都可以冒险发表意见吗?问候,补充:我可能应该问巴拉吉。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-25 12:26:11 | 显示全部楼层
我的想法是,它将每个变量初始化为默认值。在您不知道其默认值的情况下使用。从目前使用的情况来看,我认为没有必要这样做。c#会自动将变量设置为其构造函数中的默认值。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-25 12:32:56 | 显示全部楼层

嗨,Keith,
我在调试器中进行了步骤,并且在以下行初始化之前值为null;所以它没有“明显/可证明”的目的。
我最初的想法和你一样......但它一直在困扰我。
谢谢
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2015-11-25 12:44:07 | 显示全部楼层
我为巴拉吉发表了一条评论...也许我们明天会知道的。
咯咯笑,尊重
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2015-11-25 15:43:42 | 显示全部楼层

鉴于帮助文档中所说的,避免使用null作为初始化程序似乎是一种合理的方法,这对于避免null ref异常来说只能是一件好事。感谢您提出
不过,在上面的Editor声明的情况下,它只是浪费了击键,我很惊讶它会编译,也许它被编译器优化了,给出了“默认”提示?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-25 16:07:44 | 显示全部楼层

如果变量未在构造函数中初始化,并且它是引用类型,则无论如何都会将其设置为 null。 至少这是我对它如何运作的理解。 引用类型的默认值为 null。 正确?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-25 16:24:50 | 显示全部楼层

没错,你是基思,我的坏,我第一次通读时没有摸索。
我希望它是.net朝着消除null的方向前进(就像在F#中一样),尽管他们很可能必须实现“Option”类型作为替代方案,使用和检查要安全得多。
文档中的示例显示了它非常有用的极少数地方之一(在通用列表中),在其他地方,鉴于您正在使用的上下文,没有真正的理由使用它。
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
331
发表于 2015-11-25 21:09:23 | 显示全部楼层

一项网络搜索发现了<em>default(PromptPointResult)
的一些用法,其中大多数是Oleg(fixo)在过去2年半中使用的。
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
331
发表于 2015-11-26 02:12:49 | 显示全部楼层
作者:
补充:
鉴于此,有可能Oleg用同一个译者从VB.net翻译了他的用法。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-26 03:17:01 | 显示全部楼层
最常见的用法是在泛型类中,而不是在以已知类型创建新对象时。
  1. public T Foo() {
  2. ...
  3. ...
  4. ...
  5. return default(T);
  6. }

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 22:04 , Processed in 0.156993 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表