Features of C# Absent in Java
- C# includes more primitive types and the functionality to catch arithmetic exceptions.
- Includes a large number of notational conveniences over Java, many of which, such as operator overloading and user-defined casts, are already familiar to the large community of C++ programmers.
- Event handling is a "first class citizen"—it is part of the language itself.
- Allows the definition of "structs", which are similar to classes but may be allocated on the stack (unlike instances of classes in C# and Java).
- C# implements properties as part of the language syntax.
- C# allows switch statements to operate on strings.
- C# allows anonymous methods providing closure functionality.
- C# allows iterator that employs co-routines via a functional-style yield keyword.
- C# has support for output parameters, aiding in the return of multiple values, a feature shared by C++ and SQL.
- C# has the ability to alias namespaces.
- C# has "Explicit Member Implementation" which allows a class to specifically implement methods of an interface, separate from its own class methods. This allows it also to implement two different interfaces which happen to have a method of the same name. The methods of an interface do not need to be public; they can be made to be accessible only via that interface.
- C# provides integration with COM.
- Following the example of C and C++, C# allows call by reference for primitive and reference types.
Features of Java Absent in C#
- Java's strictfp keyword guarantees that the result of floating point operations remain the same across platforms.
- Java supports checked exceptions for better enforcement of error trapping and handling.
For More Information :
No comments:
Post a Comment