小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

c# 方括號(hào)代表什么

 Frank_Chia 2009-08-17
C#  程序員參考        
    
 
  方括號(hào)  ([])  用于數(shù)組、索引器和屬性,也可用于指針。更重要的是用于外部DLL庫類的引用。

 C#實(shí)現(xiàn).net組件和COM組件的互操作
[DllImport("kernel32.dll")]
這叫引入kernel32.dll這個(gè)動(dòng)態(tài)連接庫。 這個(gè)動(dòng)態(tài)連接庫里面包含了很多WindowsAPI函數(shù),如果你想使用這面的函數(shù),就需要這么引入。舉個(gè)例子: [DllImport("kernel32.dll")] private static extern void 函數(shù)名(參數(shù),[參數(shù)]); 函數(shù)名就是一個(gè)屬于kernel32.dll里的一個(gè)函數(shù)。完了你就可以用那個(gè)函數(shù)了。

.NET組件中使用目前存在的COM組件

對于.NET來講,使用COM組件就要簡單一些。..NET提供了大量的類庫來方便的實(shí)現(xiàn)同COM的相互操作,其中很重要的一個(gè)名稱空間就是:System.Runtime.InteropServices。通過這個(gè)名稱空間的名字我們也可以從字面上看出,"互操作服務(wù)"。System.Runtime.InteropServices這個(gè)名稱空間提供了一系列的類來對COM對象進(jìn)行操作。

下面的例子中,我們來調(diào)用一下系統(tǒng)自帶的Win32函數(shù)MessageBoxA, 這個(gè)函數(shù)位于系統(tǒng)的COM組件user32.dll當(dāng)中,我們調(diào)用的代碼如下:

using System;
using System.Runtime.InteropServices;

class Test
{
     [DllImport ("user32.dll")]
     public static extern int MessageBoxA( int hWnd,string strMsg,string strCaption, int nType);

     public static void Main()
     {
         int myMsg;
         myMsg =MessageBoxA(0,"Hello!" ,"test",0);
     }
}

切換到命令行,運(yùn)行:
C:\>csc Test.cs 
編譯完畢我們的C#應(yīng)用程序之后,直接運(yùn)行就可以看到對話框了!同樣的,也可以使用這種方法來調(diào)用我們自己使用VB/VC編寫的COM組件。

需要注意的是,在調(diào)用COM組件之前,我們需要在.NET程序中引用名稱空間:System.Runtime.InteropServices 。因?yàn)槲覀冃枰褂眠@個(gè)名稱空間所提供的一個(gè)方法:DllImport。


  type  []  
  array  [  indexexpr  ]  
  其中:    
    
  type    
  類型。    
  array    
  數(shù)組。    
  indexexpr    
  索引表達(dá)式。    
  備注  
  數(shù)組類型是一種后跟  []  的類型:  
    
  int[]  fib;  //  fib  is  of  type  int[],  "array  of  int"  
  fib  =  new  int[100];  //  create  a  100-element  int  array  
  若要訪問數(shù)組的一個(gè)元素,則用方括號(hào)括起所需元素的索引:  
    
  fib[0]  =  fib[1]  =  1;  
  for(  int  i=2;  i <100;  ++i  )  fib[i]  =  fib[i-1]  +  fib[i-2];  
  如果數(shù)組索引超出范圍,則會(huì)引發(fā)異常。  
    
  不能重載數(shù)組索引運(yùn)算符;但類型可以定義包含一個(gè)或多個(gè)參數(shù)的索引器和屬性。索引器參數(shù)括在方括號(hào)中(就像數(shù)組索引一樣),但索引器參數(shù)可聲明為任何類型(與數(shù)組索引不同,數(shù)組索引必須為整數(shù))。  
    
  例如,.NET  Framework  定義一個(gè)哈希表類型,該類型將鍵和任意類型的值關(guān)聯(lián)在一起。  
    
  Collections.Hashtable  h  =    new  Collections.Hashtable();  
  h["a"]  =  123;  //  note:  using  a  string  as  the  index  
  方括號(hào)還用于指定屬性:  
    
  [attribute(AllowMultiple=true)]  
  public  class  Attr  {  
  }  
  可使用方括號(hào)來索引指針后面的存儲(chǔ)位置(請參見  A.2  指針類型):  
    
  unsafe  fixed  (  int*  p  =  fib  )      //  p  points  to  fib  from  earlier  example  
  {  
        p[0]  =  p[1]  =  1;  
        for(  int  i=2;  i <100;  ++i  )  p[i]  =  p[i-1]  +  p[i-2];  
  }  
  不執(zhí)行邊界檢查。  
    [ToolBoxItem(false)]表示不在IDE工具箱的控件集合中顯示。
[ParseChildren(true)] 它是用來告訴解析器   頁面聲明語法中位于
指定標(biāo)簽內(nèi)的內(nèi)容(子標(biāo)簽)是否是看作該控件的屬性還是當(dāng)作一個(gè)子控件的標(biāo)簽。true  這里true 是當(dāng)作子標(biāo)簽的意思。
ToolBoxData 的意思是當(dāng)你將這個(gè)控件從tool  box   中拖放到WEBFORM中時(shí)在aspx文件的    HTML代碼中添加的對該控件的定義。這里的控件是 : kj_gridview
{0}是控件的標(biāo)記的前綴
就是你托這個(gè)控件到頁面上 時(shí)候
他就自動(dòng)添加<{0}:Div runat=server></{0}:Div>
這個(gè){0}是你定義的 
1、[StandardParameter(“ProcessID“)]

2、[System.Web.Services.WebMethod(EnableSession=true)]

3、[Guid(“D301882E-46D1-4e83-BF15-67028B94A68D“)]

4、[Category(“Drp“)]

5、[DBDefineAttribute(“Banks.XML“)]
[Serializable]

6、[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
這些是類或方法的屬性

這個(gè)在大型的軟件開發(fā)中是很有用的,如項(xiàng)目中要用到的一個(gè)模塊是通用的,我們就可以將其單獨(dú)抽出來做成控件,這個(gè)時(shí)候類或是方法的屬性就有用了

加上這些后使控件類在使用的時(shí)候就會(huì)有相應(yīng)的列項(xiàng)提示等等

int[][] myarray3 = new int [2][]

前面的2代表二維的第一維是2 即兩行 最后一個(gè)中括號(hào)代表此二位數(shù)組的列數(shù)還未指定 
  請參見  
  C#  運(yùn)算符  ¦  數(shù)組  ¦  索引器  ¦  unsafe  ¦  fixed  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多