Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不是';这个foreach循环不起作用吗?_C#_Asp.net_Sql - Fatal编程技术网

C# 为什么不是';这个foreach循环不起作用吗?

C# 为什么不是';这个foreach循环不起作用吗?,c#,asp.net,sql,C#,Asp.net,Sql,我创建了一个类实体,并尝试使用数组填充它的一个属性,方法如下: Usuario[] arrayusers = new Usuario[contador]; int i = 0; foreach (DataRow dr in dt.Rows) { arrayusers[i].Celular = dr["CELULAR"].ToString(); i++; } 它返回错误“对象引用未设置为对象的实例”。为什么呢 我试着改变我为字符串数组创建的类,它成功了 string[] stri

我创建了一个类实体,并尝试使用数组填充它的一个属性,方法如下:

Usuario[] arrayusers = new Usuario[contador];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
    arrayusers[i].Celular = dr["CELULAR"].ToString();
    i++;
}
它返回错误“对象引用未设置为对象的实例”。为什么呢

我试着改变我为字符串数组创建的类,它成功了

string[] stringx = new string[contador];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
    stringx[i] = dr["CELULAR"].ToString();
    i++;
}

这是一篇It学期论文

您只定义了一个数组
arrayusers
,它的所有元素都设置为null。您必须实例化每个数组项:

foreach (DataRow dr in dt.Rows)
{
    arraysers[i] = new Usuario(); //<<<<<<<<<<  here
    arrayusers[i].Celular = dr["CELULAR"].ToString();
    i++;
}
foreach(数据行中的数据行dr)
{

arraysers[i]=new Usuario();//您确定
arrayusers
dt.Rows
的大小相同吗?另外,我看不到您在哪里初始化
arrayusers[i]
直到分配完它之后,它才会是
null

大概应该是这样的:

string[] stringx = new string[contador];
int i = 0;
foreach (DataRow dr in dt.Rows)
{   
    Console.WriteLine(stringx[i].Length); //<<<< Exception here
    stringx[i] = dr["CELULAR"].ToString();
    i++;
}
Usario tmp = new Usario();
tmp.Celular = dr["CELULAR"].ToString();
arrayUsers[i] = tmp;

一个比喻可能是一个可以容纳300张纸的三环活页夹(数组)。你仍然需要购买(创建)在活页夹中要写的纸。你能试着用断点调试它,看看什么是空的吗?那么:我试图给一个空元素的属性赋值,对吗?因此出现了错误消息…我知道了!谢谢你,哈比卜。是的,我想我的代码的第一行不足以实例化数组…谢谢!