3

我对 C# 很陌生。您如何处理多维数组?我也在使用 WPF。

为了更清楚地了解我的问题,这是我正在尝试做的事情:

我有一个需要存储大约 200 条“记录”的数组,每条记录都有三个字段,用户使用文本框输入了这些字段。所以我认为这就是你设置数组的方式:

 string[,] Properties = new string[500, 3];

每次用户点击按钮时,我都会向该数组添加一个新的“记录”。我不知道你会怎么做。我确信我需要设置某种计数器。

我还必须更新和删除数组中的值。任何帮助,将不胜感激。谢谢你。

4

3 回答 3

4

我将总结其他人的建议,因为您是新手。

为您的记录创建一个类(此示例相当简单):

class MyRecord
{
    public string Property1 {get; set; }
    public string Property2 { get; set; }
    public string Property3 { get; set; }
}

然后创建这些记录的列表:

List<MyRecord> theList;

用于theList.Add将新记录添加到列表中。

于 2012-06-14T19:19:35.943 回答
3

您无法轻松添加到数组中。您唯一的选择是用另一行分配一个新数组,复制所有旧项目并将新数据放在最后一行。

同样删除一行:您必须将删除行之后的所有项目“向上”移动并使数组更短。这归结为分配一个新数组并复制所有项目。往上看 :-)

通常,数组是一种低级结构,开发人员很少在 C# 中使用。特别是如果您想为可变集合建模。如果你想要一个可变的事物集合,那么使用一个事物集合,List<Thing>例如。Thing将是一个包含构成您的记录的三个属性的类。

集合类处理所有常见情况,如插入和添加项目、删除任意位置的项目等。由于您提到了 WPF,它们还与 WPF 的数据绑定和模板功能很好地结合在一起,这些功能非常强大,可以在用户界面。

于 2012-06-14T19:17:20.723 回答
2

您可能应该改用列表

LinkedList<String[]> properties = new LinkedList<String[]>();

然后您可以添加/删除条目

properties.AddLast({"a","b","c"});

在数组上使用列表的优点是从任意位置删除元素很容易:)

于 2012-06-14T19:20:02.517 回答