派生關係:
system.object => system.array => 陣列
陣列是引用型別,是在託管堆上進行分配的。
int32 myintegers; //宣告了乙個陣列引用,初始設定為null
myintegers = new int32[100]; //
建立了含有100個int32的陣列,初始化為0。該陣列的記憶體塊位址被返回並儲存到myintegers變數中
建立引用型別陣列:
control mycontrols; //宣告乙個陣列引用
mycontrols = new control[150]; //
建立含有50個control引用的陣列,分配含有50個control引用的乙個陣列,這些引用全部被初始化為null。
建立多維陣列:
//建立二維陣列,由double值構成
double[,] mydoubles = new double[10,20
];//
建立三維陣列,由string引用構成
string[,,] mystrings = new string[5,3,10];
clr支援交錯陣列(jagged array),即由陣列構成的陣列。
如何建立多邊形陣列,每個多邊形由乙個point例項陣列構成:
//建立含有point陣列的一維陣列
point mypolygons = new point[3
];//
mypolygons[0]引用乙個含有10個point例項的陣列
myploygons[0] = new point[10
];//
mypolygons[1]引用乙個含有20個point例項的陣列
mypolygons[1] = new point[20
];//
myploygons[2]引用乙個含有30個point例項的陣列
myploygons[2] = new point[30
];//
顯示第乙個多邊形中的point
for(int32 x=0;x < myploygons[0].length; x++)
16.1 初始化陣列元素
string name = new string; //大括號中以逗號分隔的資料項稱為陣列初始化器,每個資料項都可以是乙個任意複雜度的表示式。
語法糖簡寫:
string names =;
但不允許寫成:
var names =; //需要編譯器做的太多了,所以報錯
可利用c#的隱式型別的陣列功能讓編譯器推斷陣列元素的型別:
下面**沒有在new和之間指定型別:
var names = new; //null可轉型為任意引用型別(包括string),所以推斷為string型別
//使用c#的隱式型別的區域性變數和隱式型別的陣列功能:(錯誤)
var names = new ; //報錯:找不到隱式型別陣列的最佳型別,因為string和int32共同基類是object,所以不得不建立object引用的陣列,然後對123進行裝箱。c#團隊認為裝箱代價高昂,所以編譯報錯。
「隱式型別的陣列」如何與「匿名型別」和「隱式型別的區域性變數」組合使用:
//使用c#的隱式型別的區域性變數、隱式型別的陣列和匿名型別功能:
var kids = new,new };
//示例用法(用了另乙個隱式型別的區域性變數):
foreach(var kid in
kids)
劇本第三部分
第三部分劇本 場景一 女生宿舍,a趴在桌子上睡覺,電腦螢幕亮著,是vs 但是就寫了一行 小碼趴在a的胳膊上睡著。突然,a醒了,發現自己上課要遲到了,a 哎呀,完了完了,大中午的怎麼趴在這睡著了 邊說話邊收拾書包 轉頭看向小碼 a 把你放哪呢 說話的時候四周環視 算了,跟我去吧,我先把你放書包裡 說話...
第三部分 效能
索引管理 效能優化 效能監控 db.c1.find explain 查詢的詳細資訊列出來 db.c1.getindexkyes 所有索引的字段 db.c1.getindexes 所有索引的相關資訊 2 唯一索引 只需要在ensureindex命令中提定 uniqure true 即可建立唯一索引,如...
sqlalchemy第三部分
1.復用。在我們用sqlalchemy運算元據庫時,有部分 可以重複使用,我們將這部分放到乙個模組中,後面使用就可以呼叫這個模組,匯入裡面的方法。python 1.連線資料庫 from sqlalchemy import create engine hostname 127.0.0.1 ip位址 p...