什么是打字纪律?
Posted
技术标签:
【中文标题】什么是打字纪律?【英文标题】:What is typing discipline? 【发布时间】:2018-02-22 17:39:13 【问题描述】:***谈论C#打字纪律:
静态的、动态的、强大的、安全的、主格的、部分推断的
这些术语的含义以及它们与语言的关系如何?
【问题讨论】:
【参考方案1】:wikipedia 上的打字规则是指 C# 使用的类型系统(只需尝试单击链接,它将引导您到 Type System 文章)。
至于它们的意思:
static - 类型在编译时确定(编译器想在运行之前知道类型)
dynamic - 类型在运行时确定(在 C# 中,这通过 C# 4.0 中引入的 dynamic
关键字来促进)
安全 - 该语言不允许您违反其拥有的类型规则。例如,如果没有定义强制类型转换,您就不能将字符串放入复杂类型的列表中。
strong - 与其解释得很差,不如看看 Eric Lippert 关于该主题的文章 here
主格 - 类型的名称用于确定类型等价(这意味着具有相同字段但名称不同的两种类型被视为不同类型)
部分推断 - 编译器可以在编译时猜测您所指的类型(这是 c# 中的 var
关键字,它允许您在代码中不指定类型,虽然它仍然在编译时以静态和强大的方式确定)
【讨论】:
以上是关于什么是打字纪律?的主要内容,如果未能解决你的问题,请参考以下文章