1、使用assert語句對引數有些進行檢測,assert語句常用的格式為system.diagnostics.debug.assert(必須滿足的條件,「如果不滿足,則需要的提示給程式設計師的資訊」);
2、可以等於引數數目可變的方法
//獲取實參列表中的最大值
public int getmaxvalue(params int values);4.
filestream fs;
using(fs=new filestream("檔名",fileaccess.write)
{}當using語句塊中的**執行完畢或發生異常,導致程式執行流程離開using語句塊時,clr會自動呼叫using快中所有宣告的物件的dispose方法(有idisposabel介面定義)釋放所有占用的非託管資源。
5.系列化與反序列化,iformatter formatter=new bibaryformatter();
//序列化
formatter.serialize(流,可序列化的物件);
//反序列化
formatter.deserialize(stream);
6獲取目錄的所有子目錄
directoryinfo rootdir=new directoryinfo(foldername);
//或去所有子資料夾
directoryinfo childs=rootdir.getdirectories();
fileinfo files=rootdir.getfiles();
7.非同步程式設計
iasyncresult ret=委託變數.begininvoke(「」「);//啟動非同步呼叫
用於儲存方法結果的變數=委託變數.endinvoke(ret);//結束非同步呼叫
iasyncresult ret=委託變數.begininvoke(folldername,null,null);
while(ret.iscompleted=fase)
8.獲取剪下版上的資料idataobject data=clipboard.getdataobject();
複製到剪下版idataobject dataobj=new dataobject();
dataobj.setdata(dataformats.unicdetext,info);
dataobj.setdata(dataformats.bitmap,bmp);
//複製到剪下版上,第二個引數編碼,程式退出是不清空
clipboard.setdataobject(dataobj,true);
9.monitor的使用
給共享資源枷鎖obj,moniter.enter(obj);
該共享資源開鎖obj,moniter.exit(obj);
10.mutex的使用
給互斥資源枷鎖。mutex m=new mutex();
等待互斥資源可以用,用時並枷鎖m.waitone();
釋放鎖,m.releasemutex();
11.讓編輯器記住未完成的任務
只需在**中加一注釋,注意以todo打頭即可:
//todo:明天要完成的任務
檢視要完成的任務
開啟專案
檢視任務列表
出現任務列表面板
在其下拉框列表中選擇「注釋」
Linux一點小知識
ps o pid,pgid,ppid,comm cat pid pgid ppid command 17906 17906 17905 bash 18011 18011 17906 ps 18012 18011 17906 cat 1.程序組 pid為程序自身的id,pgid為程序所在的程序組的id...
volatile的一點小知識
volatile是輕量級的synchronized。彙編指令中會加入lock字首避免指令重排並把寫緩衝區的所有資料重新整理到記憶體中保證可見性,但不保證原子性。記憶體屏障 一組處理器指令,實現對記憶體操作的順序限制。有volatile修飾的變數,在進行寫操作時,會發生兩件事 lock字首指令會引起處...
DNS Client 的一點小知識
因為dns是c s結構,大家又熟悉dns server這個概念,所以很容易產生乙個誤解,認為 dns client服務 就是dns的客戶端。誤以為如果禁用 dns client服務 客戶端就不能解析網域名稱了。產生誤解的原因,還在於微軟的誤導。在windows的服務管理中,微軟聲稱 dns clie...