以下結構之間有什麼區別?爲什麼更喜歡一個呢?VB.NET Dim vs. New
第一:
Dim byteArray(20) as Byte
號之二:
Dim byteArray() as Byte = new Byte(20) {}
任何幫助,將不勝感激。
謝謝。
編輯 - 我更正了一些代碼。 「ReDim」應該是「暗淡」。
以下結構之間有什麼區別?爲什麼更喜歡一個呢?VB.NET Dim vs. New
第一:
Dim byteArray(20) as Byte
號之二:
Dim byteArray() as Byte = new Byte(20) {}
任何幫助,將不勝感激。
謝謝。
編輯 - 我更正了一些代碼。 「ReDim」應該是「暗淡」。
它們都在託管堆上分配20個字節。
它們都將標識符'byteArray'設置爲指向那些字節。
帶有「new」運算符(子句)的語句允許初始化數組元素。
Dim byteArray() as Byte = new Byte(20) { 1, 2, 3, 4, 5, 6, ... }
順便說一句,要分配一個沒有元素的數組,指定其中一個維度的大小爲-1。如果您需要訪問諸如長度之類的屬性而不拋出錯誤,這非常有用。
當然,它是21個字節? – RobS 2009-01-27 13:46:34
這是因爲Dim/Redim的語法是指定最後一個索引,而不是計數 – 2009-01-27 22:40:47
沒有區別。 Redim是vb 6開發人員熟悉的carryover語法。
這是一回事。
總是有超過1種方法去皮膚貓。
是的,一樣的。第二條語句是避免的,很少人會猜測它實際上創建了一個包含21個元素的數組。不是說從第一個陳述中可以明顯看出...
兩者都是一樣的。
Dim byteArray(20) as Byte
將創建21個元素
Dim byteArray() as Byte = new Byte(20) {}
陣列建立一個數組與20元件
注意,這兩個的指定上限的索引,其中,下限爲0,從而有效地分配* * 21 **項目而非20. – 2009-01-22 03:59:37