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])
));
}
返回图像列表;
}