-
1 # LifelongLearning
-
2 # 貳戒
C#。
C#有unsafe特性,你想操作非託管記憶體和直接使用指標,開啟unsafe開關即可。在非unsafe環境下,C#依然可以透過一些類和函式操作指標。而Java沒有任何顯式指標支援。
C#可以定義struct。Java不能。
C#提供了P/Invoke,要呼叫平臺API很容易,Java還需要用其他語言加上JNI寫個中間呼叫和型別轉換。
C#提供了更豐富的基本型別 (unsigned),Java沒有。
C#也擁有條件編譯語句(預處理),Java沒有。
C# 的 .NET Core,Mono等多平臺執行時。且 .NET 即將支援的Web Assembly (之前有把LLVM語言轉換成Web執行的工具集)。
-
3 # 北斗神談
C++是基於c語言擴充套件而來,C#的核心也是c語言。同為面向物件的程式語言,他們在很多方面有相同點,但是具體也是有不少細節差別的,這點這裡就不過多闡述了,Java屬於解釋型語言,是sun公司出品的免費開源產品,當然是在C++的基礎上改造而來,所以一些地方肯定還是相似的,但是我個人感覺沒有什麼像與不像,只有哪個更適合。
-
4 # TonyDeng
Java沒用過。其實應該講是從C/C++參考了多少,而不是像。C#的語言特性,的確是參考C/C++比較多的,更容易遷移。另外,由於微軟同時支援C++編譯器(Microsoft C++編譯器從上世紀以來就一直是著名的優秀C++編譯器),所以現在微軟的開發工具包中,C++語言方面是獨一無二的可以本地和託管程式碼混合開發的,在託管層面,C++/CLI實際上就是C#(兩者編譯出來的IL完全無差異,反編譯是看不出用什麼語言寫的,這是.net的核心本質),在特殊的模組或函式,可以直接寫本地C++程式碼,無需像C#那樣要宣告和使用介面。如果原來的語言習慣是C++,其實用這個就可以無縫過渡了,也不需要學C#,兩者在功能上無區別。
-
5 # 北大青鳥海南大立校區
C#更像
C#有unsafe特性,你想操作非託管記憶體和直接使用指標,開啟unsafe開關即可。在非unsafe環境下,C#依然可以透過一些類和函式操作指標。而Java沒有任何顯式指標支援。
C#可以定義struct。Java不能。
C#提供了P/Invoke,要呼叫平臺API很容易,Java還需要用其他語言加上JNI寫個中間呼叫和型別轉換。
C#提供了更豐富的基本型別 (unsigned),Java沒有。
C#也擁有條件編譯語句(預處理),Java沒有。
C# 的 .NET Core,Mono等多平臺執行時。且 .NET 即將支援的Web Assembly (之前有把LLVM語言轉換成Web執行的工具集)。
回覆列表
C#C#有unsafe特性,你想操作非託管記憶體和直接使用指標,開啟unsafe開關即可。在非unsafe環境下,C#依然可以透過一些類和函式操作指標。而Java沒有任何顯式指標支援。C#可以定義struct。Java不能。C#提供了P/Invoke,要呼叫平臺API很容易,Java還需要用其他語言加上JNI寫個中間呼叫和型別轉換。C#提供了更豐富的基本型別 (unsigned),Java沒有。C#也擁有條件編譯語句(預處理),Java沒有。C# 的 .NET Core,Mono等多平臺執行時。且 .NET 即將支援的Web Assembly (之前有把LLVM語言轉換成Web執行的工具集)。