【问题标题】:Arraylist multiple dimensions C# 2.0Arraylist 多维 C# 2.0
【发布时间】:2013-10-17 15:44:02
【问题描述】:

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

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

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

    }

【问题讨论】:

  • 你为什么还在使用ArrayList,使用List&lt;T&gt; 并且有一个有两个字符串属性的类。
  • 不确定如何使用它。我们已经在办公室使用它一段时间了。 C# 2.0
  • @user2800287 然后认为这是一个学习新知识的绝佳机会,这将使您对列表的使用更加有效,更不容易出错,并且在某些情况下性能更高。

标签: c# asp.net arraylist c#-2.0


【解决方案1】:

您可以使用Hashtable / Dictionary 来存储键值对。如果您不希望这样,您可以创建一个具有两个属性 FileNameValue 的类,并将该类的对象存储在 ArrayList 中,或者最好是通用的 List&lt;T&gt;

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

【讨论】:

  • 我们拥有 C# 2.0。
  • @user2800287 那么你有ListDictionary,根本不应该使用ArrayList,或者HashTable
  • 你真的应该在 FileInformation 类中拥有只读属性而不是公共字段。
【解决方案2】:

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

您可以使用Dictionary&lt;string,string&gt; 来存储这些值,但第一项是键并且必须是唯一的。如果您只想存储 2 个值的列表,可以使用 List&lt;KeyValuePair&lt;string,string&gt;&gt;List&lt;string[]&gt; 之类的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 2019-01-25
    • 2014-12-21
    • 2023-03-11
    • 2013-09-21
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多