C 開發總結

2021-08-26 11:10:56 字數 1362 閱讀 2015

剛換了工作,來到新公司後,第二天就開始讓做乙個c#開發的編輯器。這個痛苦啊,對公司的**和框架都沒什麼機會看呢,而且c#也是從沒用過的,所以這幾天一直疲於探索c#和設計並實現修改自己的編輯器,今天終於上傳了**,是策劃那邊要用,草草的收了工,這裡總結下c#使用經驗,以備下個不時之需啊。

首先c#的幾個特性:型別:值型別、引用型別。

凡是如 int bool float 等這些基本資料型別的變數都是 值型別,還用我們用struct定義的變數的也是值型別。

別的用class關鍵字標示的型別是 引用型別。還有string等 以object為基類的都是引用型別。把值型別轉為引用型別,要經過「裝箱」操作。把引用型別轉為值型別,要經過「拆箱」型別。裝箱例子:object oin = 1;int a = (int)object;

把乙個別的型別的轉為string字串用 n.tostring()方法,把乙個字串轉為整數 或變的型別 用如 uint.parse(「12」);

listview 用每一項的tag節點記錄使用者的資料,如 listview.items[0].tag = object;

插入一項 listviewitem item; string strcontent();strcontent[0]= 「hello」; listview.add(item);

等。如果要是需要在listview中顯示checkbox控制項,只需在listview 屬性介面裡 把checkbox一項定為true;

另外可以為listview中的checkbox定義訊息響應 訊息基類函式是itemcheck()或用item_checked();只需要過載這兩個函式中的乙個就可以了。

資料字段與控制項繫結的實現:

這樣的繫結會讓你少很多操作步驟,比如乙個combobox cbox控制項,它的下拉選項是我們定義好的。我們只需要簡單的操作:當然只是粗略描述下。

arraylist listarr = new arraylist ();

listarr.add(obj(str,int));

listarr.add(obj(str,int));

cbox.datasource = listarr;

cbox.displayvalue = 「str」;

cbox.membervalue = int;

struct ls ls pp;

cbox.databinding.add(「selectvalue」,pp,a);

對用list等單值的 我使用 ieumetator 迭代器遍歷,多值的用keyvaluepair結合foreach()使用,

dictionary<>結構類似於c++中的map<>,dictionary<>有兩個方法很好用就是bool containkey(int) 和 bool containvalue(string)

面試總結(C 開發)

1.用c 實現記憶體複製函式 void mymemmove void dst,const void src,int count while count return ret 參考文章 2.python中copy與deepcopy的區別 1 淺複製copy.copy 只拷貝父物件,不會拷貝物件的內部的...

C 開發小技巧總結

1.乙個應用程式只能被使用者開啟一次 2.乙個框架視窗下只開啟乙個子視窗 3.彈出式視窗顯示漸變效果 在頁面上新增乙個timer控制項fadetimer,interval設為50 類的例項變數為 private m showing true 在form load中寫 opacity 0.0 acti...

C語言專案開發小小總結

最新寫了乙個小型c語言的專案,其中就遇到了一些麻煩。裡面用到一些比較複雜的演算法,除錯起來很不方便,經過多次努力實踐,終於發現有了一些眉頭 1 c語言的專案記憶體管理很讓人頭疼,自始至終你要明白哪些記憶體應該要釋放,哪些到最後才能釋放,不然的話,就會出現一些堆被破壞的錯誤 2 每寫乙個函式一定要記得...