是對類的封裝,類似c++的namespace。c#中沒有標頭檔案與巨集定義。
若將乙個類prog包含在命名空間a中,那麼該類的完全限定名為a.prog。
using system;
using system.collections.generic;
using system.linq;
using system.text;
}}//namespace level_2
class myclass}}
檔案|新建專案|c#|類庫
寫好下列**後生成,即有需要的dll生成。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace cc.net}}
新建專案,新增引用。
加上命名空間就可以用了。相當於把c的標頭檔案和庫檔案整合在一起了。
using system;
using system.linq;
using system.text;
using cc.net;
class program
}}/*
輸出hi cc
*/
從元資料。
被封裝進dll的類,只能看不能改。
我的理解:
cpp中,標頭檔案是宣告;lib是函式入口說明;dll是函式體。
c#中好像都包含進dll了。
cpp的庫函式要轉換為託管的dll才能被c#呼叫。
main首字母大寫,必須是乙個類的成員函式。
函式的引數:
//方法引數
using system;
using system.linq;
using system.text;
public int m_arr = new int ;
public void f2( int myarray)
}static void main(string args)
\n",a,b,c,d); //3212
obj.f2(obj.m_arr); //陣列作實參
foreach (int x in obj.m_arr)
//輸出135
console.read();}}
}
函式與命名空間
格式 返回值 引數 可變引數 內聯函式 函式過載 格式 返回型別 函式名 函式引數型別 函式引數,如果沒有形參可以直接在函式名後面加 或者 void 返回值說明 有返回值函式 無返回值函式 例子 例1 有返回值 double max double a,double b 例2 無返回值 void sh...
C 命名空間 預設命名空間與匿名命名空間
2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...
dll匯出命名空間下的c風格函式陷阱
1 編譯階段,如果不是過載,那麼c風格的同名函式與c 風格的同名函式,就會報編譯錯誤。error c2084 function int test void already has a body。2 編譯期間,編譯器會檢查命名空間裡的函式。如sg test 編譯器會檢測是否有函式test 在sg命名空...