C# | Java |
1. C# uses Common Language Runtime (CLR) | 1. Java uses Java Runtime Environment (JRE) |
2. C# supports the struct data type | 2. Java doesn't supports struct data type |
3. C# supports operator overloading. | 3. Java doesn't supports operator overloading. |
4. C# type-safety is unsafe | 4. Java type-safety is safe. |
5. C# supports goto statement. | 5. Java doesn't supports goto statement. |
6. In C#, It uses static final to declare a class constant | 6. In Java, It uses const to declare a class constant |
7. In C#, parameters are passed by reference | 7. In Java, parameters are passed by value |
8. C# supports only unchecked exception | 8. Java supports checked and unchecked exception |