我要將一些舊的VB代碼轉換爲C#。在C#中實例化一個數組 - 從VB轉換爲
原始碼是Me.variable1 = New Integer() {}
。
我用一些轉換網站,得到的答案爲this.variable1 == new int[]
。 但是,IDE給出了錯誤「錯誤的數量在[];期望1」內的索引。 看來我必須聲明數組的大小。
VB代碼給了我們什麼大小的數組?它的大小是1還是沒有大小?
謝謝!
我要將一些舊的VB代碼轉換爲C#。在C#中實例化一個數組 - 從VB轉換爲
原始碼是Me.variable1 = New Integer() {}
。
我用一些轉換網站,得到的答案爲this.variable1 == new int[]
。 但是,IDE給出了錯誤「錯誤的數量在[];期望1」內的索引。 看來我必須聲明數組的大小。
VB代碼給了我們什麼大小的數組?它的大小是1還是沒有大小?
謝謝!
==
在此處用作比較運算符而不是賦值運算符。您必須使用=
進行分配。你必須指定數組的大小,否則你必須初始化它的元素。所以,你應該用這樣的:
this.variable1 = new int[10];
或者這樣:
this.variable1 = new int[] { 10, 12, 15, 3, 2, 4, 19 };
這(int[] variable1 = new int[] { };
)是一個空數組的有效的聲明,但你不能分配什麼這個數組。
謝謝!由於VB編碼創建一個空數組,我們可以添加元素到由VB代碼創建的這個空數組嗎? – DennisL
this.variable1 = new int[]{}
應該工作。它只是創建一個空數組。
不幸的是,你將無法向這個數組添加任何東西,但是如果你從別的東西(例如服務或其他調用)獲得數組,你可以將該數組分配給這個數組。
這是一個工作示例。
@ upvoter,小心指定這個有問題的答案是如何有用的。 '它只是創建一個空的數組''如何用'==' –
編輯它。謝謝@不幸運! –
[陣列教程](https://msdn.microsoft.com/en-us/library/aa288453(V = vs.71)的.aspx) – Plutonix
恰好'Me.variable1'什麼之後?你在改變陣列成員的數量嗎? VB語句創建一個空數組。元素是否稍後添加?如果是這樣,請考慮使用'System.Collections.ArrayList'或任何其他合適的集合。 –
請注意,dupe鏈接是「約」1,030,000谷歌命中「c#實例化數組」(搜索SO)名單上的項目#1。 – Plutonix