C 學習及與delphi的比較(一)

2021-05-21 20:57:28 字數 878 閱讀 8798

剛開始很不習慣c#的風格,哎,先入為主啊,delphi習慣了,{}代替begin/end太扎眼。

屬性方法的宣告和**在一起,沒有像delphi分inte***ce/implementation,感覺太亂,都不知道乙個class到底有幾個方法。

每個屬性和方法前面都要單獨寫private/protected/public,老天,c#是delphi之父設計的揶,怎麼不學delphi寫乙個就行呢?絕對降低生產率。

c#號稱沒有全域性變數、全域性函式了,有人大加讚賞,說可以減少耦合,剛很好奇,看了才明白,老天,都放到class裡面去了,那這個class算不算全域性的??類似delphi的class method,不需要建立instance就可以呼叫。

跟c一樣,函式呼叫,即使沒有引數,也要加一對括號,煩,有時候不知道某個東西是屬性還是方法,vs的code insight選擇方法後也不自動加上一對括號,像tostring(),我總是忘掉。

沒有了單元的概念,不存在乙個cs檔案引用另乙個cs檔案的用法,在project中的檔案就可以互相使用裡面的class。

assembly中沒有如delphi的單元initialization/finalization初始化功能,很不方便,只能通過static property來lazy建立。

form有controls屬性,列出第一層控制項,與delphi一樣;但是沒有components屬性,不知道如何列出那些不可視元件,但是在form的後代,如form1,form2,單獨實現了乙個private icontainer components屬性,作用與delphi得components一樣。如果要從form來呼叫其ide實現的components屬性,需要使用reflection:

而且通過reflection,也可以列舉出form的全部components,包括controls:

C 與C 一些比較

1.在c 中不需要區分標頭檔案與實現檔案,c 為了和其他cpp中的函式方便的做互動不得不寫乙個標頭檔案來做型別宣告。2.c 語言本身提供了反射機制支援 而c 並不支援 像c 中propertygrid這樣的東西,在c 中實現也是乙個比較麻煩的事情 rpc這樣的東西在有反射系統的情況下,實現和使用都要...

引用型別及與指標的比較(C 筆記)

引用是c 在c語言上延伸的一種新的機制,是對c語言中指標的功能的一種新的實現方式。引用型別 引用 是識別符號的別名,即變數的別名。在定義乙個引用時,必須同時對它初始化,使它指向乙個已存在的物件。int i 10 int ri i 定義int引用ri,並初始化為變數i的引用此時ri相當於變數i的另乙個...

python與C的比較

python的大致語法結構與c類似,但是又有著區別。迴圈 python的迴圈沒有了c的 取而代之的是 並且for迴圈是 x in y的形式出現,而不是三段式。退出等均和c相同,以break退出,但是python中的選擇結構中是if,elif而不是c中的if elseif。變數 python中的變數無...