我该如何在WPF中表示这些记录和字段?

3
我对C#比较新,如何使用多维数组?我还在使用WPF。
更明确地说,这是我的问题:
我有一个需要存储大约200个"记录"的数组,每个记录都有三个字段,用户使用文本框输入。所以我认为这是如何设置数组:
 string[,] Properties = new string[500, 3];

我将在每次用户点击按钮时向该数组中添加一个新的“记录”。我不知道如何实现这一点。 我确信我需要设置某种计数器。
我还需要更新和删除数组中的值。任何帮助都将不胜感激。谢谢!

1
不要使用数组,而是使用类和列表。拥抱面向对象编程! - Ry-
http://msdn.microsoft.com/en-us/library/2yd9wwz4%28v=vs.100%29.aspx - Robert Harvey
通常情况下,您应该尝试将每个“记录”封装在自己的类中。然后,您可以将新记录添加到 List<T> 中(其中 T 是您的类的名称)。 - dlev
3个回答

4

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

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

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

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

List<MyRecord> theList;

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

你说要使用theList.Add。但是如何将文本框中的值实际输入到列表中呢? - JLott
这是另一个问题的事情。在此之前,您应该稍微了解一下数据绑定。 - zmbq

3
您无法轻松地向数组中添加内容。您唯一的选择是分配具有另一行的新数组,复制所有旧项目并将新数据放入最后一行。
同样,删除行也是如此:您必须将删除行后面的所有项目“上移”并使数组变短。这归结为分配一个新数组并复制所有项目。参见上文 :-)
通常情况下,数组是低级结构,应该很少由C#开发人员使用。特别是如果您想模拟可变集合。如果您想要一个可变的事物集合,那么请使用事物集合,例如List。 Thing将是包含组成记录的三个属性的类。
集合类处理所有常见情况,例如插入和添加项目,在任意位置删除项目等。由于您提到了WPF,它们还可以很好地与WPF的数据绑定和模板化功能配合使用,这些功能是在UI中显示数据的非常强大的工具。

2
你最好使用列表代替。
LinkedList<String[]> properties = new LinkedList<String[]>();

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接