范围解析运算符 :: 与成员访问运算符 。在 C# 中
在 C# 中,A::B
和 AB
之间有什么区别?我注意到的唯一区别是只有 ::
可以与 global
一起使用,但除此之外,还有什么区别?为什么他们都存在?
In C#, what's the difference between A::B
and A.B
? The only difference I've noticed is that only ::
can be used with global
, but other than that, what's the difference? Why do they both exist?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
:: 运算符仅适用于别名 global 是一个特殊系统提供的别名。
所以...这有效:
但不是这样:
这可以让您摆脱子命名空间的地狱,当您与库集成时,子命名空间可能会出现:
并且您在代码中具有
global:: 让您找到真正的子 命名空间系统。
此处的 MSDN 信息
the :: operator only works with aliases global is a special system provided alias.
so ... this works:
but not this:
This lets you escape from the hell of sub namespaces that can come about when you are integrating with a library where they have:
And you in you code have
global:: lets you find the real System.
MSDN info here
使用 :: 你可以做诸如...之类的事情
,有时.不明确,因此需要 :: 。以下是 C# 语言规范的示例
http://download.microsoft.com/download/0/B/D/0BDA894F-2CCD-4C2C-B5A7-4EB1171962E5/CSharp%20Language%20Specification.htm
with :: you can do things like...
and there are times when . is ambiguous so :: is needed. here's the example from the C# language spec
http://download.microsoft.com/download/0/B/D/0BDA894F-2CCD-4C2C-B5A7-4EB1171962E5/CSharp%20Language%20Specification.htm