謝邀!
C#
- C#有unsafe特性,你想操作非托管內存和直接使用指針,打開unsafe開關即可。在非unsafe環境下,C#依然可以通過一些類和函數操作指針。而Java沒有任何顯式指針支持。
- C#可以定義struct。Java不能。
- C#提供了P/Invoke,要調用平臺API很容易,Java還需要用其他語言加上JNI寫個中間調用和類型轉換。
- C#提供了更豐富的基本類型(unsigned),Java沒有。
- C#也擁有條件編譯語句(預處理),Java沒有。
- C#的.NETCore,Mono等多平臺運行時。且.NET即將支持的WebAssembly(之前有把LLVM語言轉換成Web運行的工具集)。