2015-09-03 306 views
0

请考虑X是一个对象数组。说对象[10]。对象数组的元素代表不同的值,例如, object [1]是studentname,object [2]是生日,object [3]是地址,依此类推。遍历对象数组

以下是我想这些值拉入相应的,我需要作进一步处理

string studentName; 
string birthDate; 
string address; 

IEnumerable<object> collection = (IEnumerable<object>)X; 

int counter = 0; 
foreach (object obj in collection) 
{ 
    if (counter == 0) 
     studentName = obj.ToString(); 
    if (counter == 1) 
     birthDate = obj.ToString(); 
    if (counter == 2) 
     address = obj.ToString(); 
    ... 
    counter++; 
} 

这是获得对象数组的值到各个变量的正确方法变量的方法?有些东西感觉不对。

感谢

+3

_“有些东西感觉不对。”_事实上,它是在一个对象数组开始?这可能是[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –

回答

5

如果Xobject[]然后将其投射到IEnumerable然后再遍历它看起来相当多余。

由索引只要访问该阵列元件,如:

studentName = X[0].ToString(); 
birthDate = X[1].ToString(); 
address = X[2].ToString(); 

注意,空检查是在样品中省略,因此,如果需要照顾它。你也许需要一些数组长度检查,如果它不能保证是10.