【发布时间】:2015-08-28 19:28:27
【问题描述】:
我的gymInfo 课程中有这段代码:
public class gymInfo
{
public gymArray getAllGymsByStars()
{
gymDataTableAdapters.gymsTableAdapter gymsTableAdapter = new gymDataTableAdapters.gymsTableAdapter();
DataTable gymsDataTable = gymsTableAdapter.getAllGymsByStars();
gymArray gymArray = new gymArray();
foreach(DataRow row in gymsDataTable.Rows)
{
gymArray.name = row["name"].ToString();
}
return gymArray;
}
}
gymsDataTable包含20行名字,现在我做了一个自定义类,代码如下:
public class gymArray
{
public string name { get; set; }
}
我希望 string name 填充 20 个名称(因为它们在数据表中是 20 行)但是当我在线调试 return gymArray 它只显示最后一行的名称而不是显示整个自定义名称数组。
有人明白我做错了什么吗?
【问题讨论】:
-
您希望如何将数组存储在单个变量中。
-
gymArray只是一个字符串值,而不是一个实际的字符串数组。 -
你调用的类
gymArray绝不是一个数组 -
gymArray 只是一个对象,简单来说它不是列表或数组,它不是可枚举的。
-
我建议在类级别
public static nameList = new List<string>创建类似的内容,然后使用List<T>.Add()方法将其填充到你的 foreach 循环中,或者创建一个List<gymArray>
标签: c# asp.net arrays custom-object