我必须写几句关于C#的文字,一般都是小菜一碟?没有!
我搜索了各种互联网资源和书籍,我得到的是一种令人头痛的问题。例如垃圾收集器一些消息来源说这是C#功能,其他CLR获得此功能,C#以及所有其他.NET语言默认获得它。当然,我对CLR的投票,但还有很多其他事情会引起混淆,比如避免明确的代码转换。也许我有糟糕的书籍和资源......所以也许有人会建议一些地方以清晰的方式讲述C#
第二件事是C#语法的起源,同样很少有选择,没有什么是明确的,其他语言组合是彼此的作者。 C,c ++,Java,没关系,但VB6和Delphi,我有疑问。而且这些语言的特征来源与c#混合在一起,但实际上不清楚它是否是C#或CLR特征
MTH
答案 0 :(得分:6)
GC由CLR提供
C#是语言规范所声明的所有内容,而不再是。
一些更有趣的事实上是C#特征:
但是,与您键入的代码相关但不是由CLR或框架直接提供的任何内容都是语言功能。当然,其他语言也可以实现它们......
(这些只是当然的几个例子;而且 - 其他语言也可以自由提供这些功能!)
答案 1 :(得分:3)
GC本身是一个CLR功能,但C#语言假定它在一个带有垃圾收集的平台上运行 - 没有定义确切的语义。
精确确定是一件很难的事,但一个粗略的经验法则是“如果它在语言规范中得到很好的定义,它就是一个C#特征。”
如果您可以提供更多功能的分类示例(“避免显式代码转换”不是语言功能,除非您想提供更多详细信息),这将有所帮助。
答案 2 :(得分:0)
CLR是一个开发平台,一个运行时环境,支持用其中一种.NET语言编写的托管代码,其中C#是其中之一。垃圾收集是CLR功能。与托管代码的代码访问安全性和及时编译一样。
答案 3 :(得分:0)
您可以使用C#语言规范。以下是参考资料:
答案 4 :(得分:0)
第二件事是C#语法的起源,同样很少有选择,没有什么是明确的,其他语言组合是彼此的作者。 C,c ++,Java,没关系,但VB6和Delphi,
C#从VB获得的东西:
在某种方式中可选参数(C#4),但实际上来自COM。