Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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_Datatable - Fatal编程技术网

C# 通过foreach循环数据行添加到列表

C# 通过foreach循环数据行添加到列表,c#,asp.net,datatable,C#,Asp.net,Datatable,我看了很多问题,找不到我需要的答案。如果重复,请提前道歉 我有一个函数,它返回imageslist,这是一个列表,它应该将数据表的每一行作为一个元素 public IList<string> ImageLoader() { var data_str = new StringBuilder(); DataSet data = new DataSet(); SqlHelper db = new SqlHelper(); data.Tables.Add(

我看了很多问题,找不到我需要的答案。如果重复,请提前道歉

我有一个函数,它返回
imageslist
,这是一个列表,它应该将
数据表的每一行作为一个元素

public IList<string> ImageLoader()
{
    var data_str = new StringBuilder();
    DataSet data = new DataSet();
    SqlHelper db = new SqlHelper();
    data.Tables.Add(
        db.runQuery("SELECT * from Gallery")
    );
    data.Tables[0].TableName = "Images";
    foreach(DataRow row in data.Tables["Images"].Rows)
    {
        data_str.Append(
                row.ItemArray[1]
                + (row.ItemArray[2].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[3].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[4].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[5].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                );
        imagesList.Add(data_str.ToString());
    }
    return imagesList;
} 
public IList ImageLoader()
{
var data_str=new StringBuilder();
数据集数据=新数据集();
SqlHelper db=newsqlhelper();
data.Tables.Add(
db.runQuery(“从库中选择*)
);
data.Tables[0].TableName=“Images”;
foreach(data.Tables[“Images”].Rows中的DataRow行)
{
数据附加(
row.ItemArray[1]
+(row.ItemArray[2].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[3].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[4].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[5].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
);
Add(data_str.ToString());
}
返回图像列表;
} 
但使用此函数,我得到了错误的输出:

p.S:我还取出了
imagesList.Add(data_str.ToString())出foreach循环,在这种情况下,输出很好,但都在一个元素中。

所需输出:

机场,空的,空的,空的,空的

机场,航站楼,空的,空的,空的

机场,航站楼,空的,空的,空的

全明星,零售,空,空,空

空的,零售的,空的,空的,空的

空的,零售的,空的,空的,空的

空的,零售的,空的,空的,空的

空的,零售的,空的,空的,空的

我的输出:

机场,空的,空的,空的,空的

机场,空的,空的,空的机场,终点站,空的,空的,空的

机场,空的,空的,空的,空的机场,终点站,空的,空的,空的机场,终点站,空的,空的,空的,空的

机场,空港,空港,空港,空港机场,航站楼,空港,空港机场,航站楼,空港,空港

机场,空的,空的,空的,空的机场,终点站,空的,空的,空的机场,终点站,空的,空的,空的,零售,空的,空的,空的,零售,空的,空的,空的

机场,空的,空的,空的,空的机场,航站楼,空的,空的,空的机场,航站楼,空的,空的,空的,零售,空的,空的,空的,空的,零售,空的,空的

机场,空的,空的,空的,空的机场,航站楼,空的,空的机场,航站楼,空的,空的,空的,零售,空的,空的,空的,空的,零售,空的,空的,空的,零售,空的,空的


Airport,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY,emptyarlstar,Retail,EMPTY,EMPTY,EMPTY,Retail,EMPTY,EMPTY,EMPTY,EMPTY,Retail,EMPTY,EMPTY,EMPTY,EMPTY

您不断地将变量附加到数据上,然后将其添加到列表中。您应该跳过数据,直接添加行信息

public IList<string> ImageLoader()
{
    DataSet data = new DataSet();
    SqlHelper db = new SqlHelper();
    data.Tables.Add(
        db.runQuery("SELECT * from Gallery")
    );
    data.Tables[0].TableName = "Images";
    foreach(DataRow row in data.Tables["Images"].Rows)
    {
        imagesList.Add(row.ItemArray[1]
                + (row.ItemArray[2].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[3].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[4].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                + (row.ItemArray[5].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
                ));
    }
    return imagesList;
} 
public IList ImageLoader()
{
数据集数据=新数据集();
SqlHelper db=newsqlhelper();
data.Tables.Add(
db.runQuery(“从库中选择*)
);
data.Tables[0].TableName=“Images”;
foreach(data.Tables[“Images”].Rows中的DataRow行)
{
imagesList.Add(row.ItemArray[1]
+(row.ItemArray[2].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[3].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[4].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
+(row.ItemArray[5].ToString().Equals(“”?逗号+“空”:逗号+row.ItemArray[2])
));
}
返回图像列表;
}