迭代通过对象数组

时间:2015-09-03 15:44:26

标签: c# .net arrays

请考虑X是一个对象数组。说对象[10]。 对象数组的元素表示不同的值,例如, object [1]是studentname,object [2]是birthdate,object [3]是address,依此类推。

以下是我试图将这些值拉入相应变量的方式,这是我需要进一步处理的

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++;
}

这是将对象数组的值转换为单个变量的正确方法吗?有些事情感觉不对。

由于

1 个答案:

答案 0 :(得分:5)

如果Xobject[],则将其投放到IEnumerable,然后对其进行迭代看起来非常多余。

只需按索引访问此数组元素,例如:

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

请注意,示例中省略了空检查,因此如果需要,请进行处理。如果不能保证为10,也可能需要进行一些数组长度检查。