我正在尝试创建一个多维数组
到目前为止我得到的是..。
ArrayList iEFiles = (ArrayList)Session["Files"];
iEFiles.Add(Server.MapPath(FileName));
FileName = "Testing123"
FileName = "AnotherTest"我想做的是让它像这样...
FileName = ("Testing123", "Waterproof")
FileName = ("AnotherTest", "Non-Waterproof")像Array[,]一样
有什么想法吗?
要显示记录...BindGridview(iEFiles);
private void BindGridview(ArrayList list)
{
DataTable dt = new DataTable();
dt.Columns.Add("FileName");
dt.Columns.Add("id");
dt.Columns.Add("snFile");
int c = list.Count;
for (int i = 0; i < c; i++)
{
dt.Rows.Add();
dt.Rows[i]["FileName"] = list[i].ToString().ToUpper();
dt.Rows[i]["id"] = i;
dt.Rows[i]["snFile"] = list[i].ToString();
}
GridView1.DataSource = dt;
GridView1.DataBind();
}发布于 2013-10-17 23:46:40
您可以使用Hashtable / Dictionary来存储键值对。如果您不希望这样做,您可以创建一个具有两个属性FileName和Value的类,并将该类的对象存储在ArrayList中,或者最好是泛型List<T>中。
class FileInformation
{
public FileInformation(string fileName, string value)
{
FileName = fileName;
Value = value;
}
public string FileName;
public string Value;
}
List<FileInformation> lst = new List<FileInformation>();
lst.Add(new FileInformation("fileName", "somevalue"));发布于 2013-10-17 23:50:25
在我们有泛型之前,ArrayList有点像.net 1.x的倒退。
您可以使用Dictionary<string,string>来存储这些值,但是第一项是一个键,并且必须是惟一的。如果你只想存储两个值的列表,你可以使用像List<KeyValuePair<string,string>>或List<string[]>这样的东西。
https://stackoverflow.com/questions/19431297
复制相似问题