我看了很多问题,找不到我需要的答案。如果有重复,请提前道歉。
我有一个返回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;
} 但是通过这个函数,我得到了错误的输出:
P.S:我还将从foreach循环中取出,在这种情况下输出是很好的,但都是在一个元素中。
期望输出:
机场,空的,空的
机场,候机楼,空的
机场,候机楼,空的
AllStar,零售,空
空,零售,空
空,零售,空
空,零售,空
空,零售,空
MY输出:
机场,空的,空的
机场,空,EMPTYAirport,航站楼,空
机场,空,EMPTYAirport,航站楼,空,空
机场,空,EMPTYAirport,航站楼,空,空,EMPTYAirport,航站楼,空,空,EMPTYAllStar,零售,空
机场,空,EMPTYAirport,航站楼,空
机场,空,EMPTYAirport,航站楼,空,空,EMPTYAirport,航站楼,空,空,EMPTYAllStar,零售,空
机场,空,EMPTYAirport,航站楼,空
机场,空,EMPTYAirport,航站楼,空
发布于 2019-03-27 00:06:50
一直追加到data_str变量,然后将其添加到列表中。您应该跳过data_str并直接添加行信息。
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;
} https://stackoverflow.com/questions/55367878
复制相似问题