2011-05-30 101 views
0

也許我沒有第一次解釋我自己,所以這裏是我第二次去解決它。從一個數組中創建一個對象

我需要從數組中的字符串列表中聲明對象。

所以我的數組發送到數據庫並從一個colums收集名稱。這個名字將全部是一個對象。現在我想動態地從列中定義具有該名稱的每個對象。

所以數組有5個元素在它的類型字符串。

因此,儘管我看起來似乎不能動態地創建對象。

因此,而不是手動去myobject測試=新myobject();

我只是想通過循環來聲明它的數組。

+2

如何定義/分配對象的成員?你的班級是什麼樣的?編譯器非常聰明,但它可能無法預測哪些成員要分配哪些數組值。 – BoltClock 2011-05-30 17:47:51

+0

「myArray」的類型是MyObject的數組? (MyObject []) – 2011-05-30 17:49:20

+0

這個問題對我來說還不清楚,你的意思是「你如何克隆一個數組中的對象,以便數組中的對象與我想訪問的對象分離的內存中? – Vinnyq12 2011-05-30 17:49:46

回答

2

我不是很確定你的問題是什麼,但如果我看到你的代碼比你想在你的數組中創建對象?

也許這是你的解決方案:

MyObject[] myArray = new MyObject[4]; 
for (int i =0; i < myArray.Length; ++) 
{  
myArray[i] = new MyObject(); 
} 

希望這會幫助你。

0
MyObject[] myArray = new MyObject[3]; 
for (int i =0; i < myArray.Length; i++) 
{ 
    MyObject obj = new MyObject(); 
    myArray[i] = obj; 
} 
+0

我想從射線中的元素中創建一個對象。所以說Myarray [1]持有價值測試。我想將它指定爲一個對象。 – Andy12 2011-05-30 18:00:09

0

您可以使用System.Linq的select操作符將數組轉換爲對象。您爲陣列中的每個i創建一個對象,然後像這樣返回一個新對象

var array = new string[2]{"one","two"}; 
var objects = array.Select(i=> new Object{Name = array[i]}).ToArray(); 
+0

var的數據類型不是C#中的數據類型 – Andy12 2011-05-30 19:11:49

+1

var表示編譯器應該爲你推斷出這種類型......這種方式你不需要輸入int []和Object []。自3.0以來,它一直在C#中 – Gluip 2011-05-30 19:27:15

相關問題