发布网友 发布时间:2022-05-29 04:56
共5个回答
热心网友 时间:2024-10-12 07:05
c#中::和.区别为:性质不同、引用变量不同、前缀不同。
一、性质不同
1、:::::是域作用符,是各种域性质的实体专用的。
2、.:.是成员作用符,是对象专用的。
二、引用变量不同
1、:::::的引用变量类型是外部变量。
2、.:.的引用变量类型是局部变量。
三、前缀不同
1、:::::的前缀可以不加具体的域名,不加时就是指默认域。
2、.:.的前缀不可以不加具体的对象名。
热心网友 时间:2024-10-12 07:06
全局作用符的。热心网友 时间:2024-10-12 07:06
C#依靠.net core,实现了跨平台和开源,而Java确是一次编译,到处调试,而且jvm是半开源的。Java没有指针,没有属性器,没有索引器,没有迭代器,,没有运算符重载,没有unsigned类型,没有委托,没有真正的泛型,Java的泛型需要装包解包浪费大量系统资源,Java的继承没有virtual函数,所有的父类函数都被继承下来,浪费大量资源,CS多态更加符合里氏转换原则,利用指针和反射,CS可以简单的调用动态链接库,CS有比传统C语言功能更强大的结构体,CS有独特的锯齿数组,C#可以通过.net native像C++一样编译为机器码,Java只能依赖JVM虚拟机,导致性能损失。Java没有好的GUI框架,C#的WPF依靠XAML语言可以简单的实现GUI的编写。CS通过xamarin可以实现IOS,安卓等多平台开发,依赖.net core可以简单的部署在linux上,有更高的性能优势。CS通过linq语句,可以简单的实现数据库查询,CE3,u3d等游戏引擎也支持CS,而Java语言开发的唯一游戏我的世界因为运行效率太慢而被用C++语言重写。热心网友 时间:2024-10-12 07:07
什么用来区分内部、外部相同变量名。什么 ::str, 连写法都是错误的, complier 都过不了,必须自己要动手去试试。另外,用 . 也可以访问全局变量,这也不是区别。不知道为什么大家不试试就开始点赞,抱歉我第一个反对。包括我写的答案,大家试过是可以的再点赞。
官方中查到的解释 C#中 . (members access operator) 而另外的 :: (namespace alias qualifier operator)
好,接下来,模拟官方说明的区别给大家看:
using B = C;大家注意到:
B.D test1 = new B.D(); 是不可以的
B::D test2 = new B::D();才是允许的
后面我不说了,因为你要自己动手去试。你真正领悟到了吗?
热心网友 时间:2024-10-12 07:07
::只是用来区分内部、外部相同变量名,加::是外部变量,在你这里是访问另外一个空间的相同变量当时::和.都可以用,一般用.,::很少用。热心网友 时间:2024-10-12 07:05
c#中::和.区别为:性质不同、引用变量不同、前缀不同。
一、性质不同
1、:::::是域作用符,是各种域性质的实体专用的。
2、.:.是成员作用符,是对象专用的。
二、引用变量不同
1、:::::的引用变量类型是外部变量。
2、.:.的引用变量类型是局部变量。
三、前缀不同
1、:::::的前缀可以不加具体的域名,不加时就是指默认域。
2、.:.的前缀不可以不加具体的对象名。
热心网友 时间:2024-10-12 07:06
全局作用符的。热心网友 时间:2024-10-12 07:06
C#依靠.net core,实现了跨平台和开源,而Java确是一次编译,到处调试,而且jvm是半开源的。Java没有指针,没有属性器,没有索引器,没有迭代器,,没有运算符重载,没有unsigned类型,没有委托,没有真正的泛型,Java的泛型需要装包解包浪费大量系统资源,Java的继承没有virtual函数,所有的父类函数都被继承下来,浪费大量资源,CS多态更加符合里氏转换原则,利用指针和反射,CS可以简单的调用动态链接库,CS有比传统C语言功能更强大的结构体,CS有独特的锯齿数组,C#可以通过.net native像C++一样编译为机器码,Java只能依赖JVM虚拟机,导致性能损失。Java没有好的GUI框架,C#的WPF依靠XAML语言可以简单的实现GUI的编写。CS通过xamarin可以实现IOS,安卓等多平台开发,依赖.net core可以简单的部署在linux上,有更高的性能优势。CS通过linq语句,可以简单的实现数据库查询,CE3,u3d等游戏引擎也支持CS,而Java语言开发的唯一游戏我的世界因为运行效率太慢而被用C++语言重写。热心网友 时间:2024-10-12 07:07
什么用来区分内部、外部相同变量名。什么 ::str, 连写法都是错误的, complier 都过不了,必须自己要动手去试试。另外,用 . 也可以访问全局变量,这也不是区别。不知道为什么大家不试试就开始点赞,抱歉我第一个反对。包括我写的答案,大家试过是可以的再点赞。
官方中查到的解释 C#中 . (members access operator) 而另外的 :: (namespace alias qualifier operator)
好,接下来,模拟官方说明的区别给大家看:
using B = C;大家注意到:
B.D test1 = new B.D(); 是不可以的
B::D test2 = new B::D();才是允许的
后面我不说了,因为你要自己动手去试。你真正领悟到了吗?
热心网友 时间:2024-10-12 07:08
::只是用来区分内部、外部相同变量名,加::是外部变量,在你这里是访问另外一个空间的相同变量当时::和.都可以用,一般用.,::很少用。