面试的时候遇到了这个问题,做个标记,
(参考:
http://www.chinaret.com/user/topic_view.aspx?t=2&u=&id=4ae3626d-e234-4f98-9e66-f25dde37d187
http://www.cnblogs.com/Tonglu/archive/2008/11/23/1338870.html)
1、C#中有enum、struct的概念,java中没有。
2、swith 语句中,java只对byte、char、short、int,需要break跳出,不然会依次执行下去,而java则可对enum、string等类型。
3、C#保留指针管理,用于提高效率,java没有。
4、 java中final用于表示常量、终类,而C#中分别用const、sealed表示。
5、java中常用的基本类型有byte,char、short、int、long、float、double,C#中还包含无符号类型,主要是加unsigned中的u。
6、C#比java除了private、protected、public、friend外还有internal修饰符。
7、java中基本类型都有各自的封装类,如Integer等,C#没有,需要装箱、拆箱。
8、C#使用的是csc.exe,形成MSIL文件,java编译使用javac.exe,形成.Class文件。 (C++生成可执行.exe文件)
9、java中instance of 与C#中的is作用相同,但是C#中多了as操作符。
10、java中不能使用goto,C#中可以。
11、C#中可以使用using T=System.out代替,java不可以。
12、java中默认使用的类为java.lang,而c#没有,需要使用using引用。
13、语法表达的不同,如Java中使用extends表示继承,C#中用:
补充:
java与C#,C++的区别
1、C++允许多继承,C#与Java只有单集成。
2、C++需要管理内存,而Java、C#不用。