0

我正在尝试创建一个多维数组

到目前为止我所拥有的是...

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();

    }
4

2 回答 2

2

您可以使用Hashtable / Dictionary来存储键值对。如果您不希望这样,您可以创建一个具有两个属性的类,FileName并将Value该类的对象存储在 ArrayList 或最好是 genericList<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-17T15:46:40.153 回答
0

ArrayList 在我们有泛型之前有点像 .net 1.x 的回归。

您可以使用Dictionary<string,string>来存储这些值,但第一项是键并且必须是唯一的。如果您只想存储 2 个值的列表,您可以使用类似List<KeyValuePair<string,string>>or的东西List<string[]>

于 2013-10-17T15:50:25.420 回答