1

为了清楚起见,我有 3 个数组。ArrX, ArrY, ArrZ

这些将被放入数组中:GridArr

我想做的是一个 wpf 应用程序,它将收集信息,将所需信息分类为 Arr1、Arr2 和 Arr3。将它们放在 GridArr 中。所以它可以被加载到数据网格中。用户可以编辑然后将更改后的值放入它曾经来自的同一数组中。(ArrX、ArrY、ArrZ)

数据网格可视化示例:

Test    | Dest    | Testy
ArrX[0] | ArrY[0] | ArrZ[0]
ArrX[1] | ArrY[1] | ArrZ[1]
ArrX[2] | ArrY[2] | ArrZ[2]

ArrX 将值放入测试中。ArrY to Dest 等。

问题是我必须声明 GridArr 的大小。我创建了一个函数来为 GridArr 返回正确的大小,但是我无法在不必将数组放入类中(没有出错)的情况下声明它,如果 GridArr 在类中,我不知道我应该怎么做设法将新用户编辑的值放入 ArrX、ArrY 和 ArrZ。

    string[] ArrX = { "test", "", "asd" };
    int[] ArrY = { 1, 2, 3 };
    int[] ArrZ = {111, 2212, 32323};


    private LootData[] GridArr = new LootData[ArrX.Length]; /* Error occurs.
    What should I do to declare it´s length without writing for example 3 */

    public MainWindow()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
            GridArr[0] = new LootData(ArrX[0], ArrY[0], ArrZ[0]);//Code LootData below
            GridArr[1] = new LootData(ArrX[1], ArrY[1], ArrZ[1]);
            GridArr[2] = new LootData(ArrX[2], ArrY[2], ArrZ[2]);

            dataGrid1.ItemsSource = null;
            dataGrid1.ItemsSource = arr;
    }

LootData 类,以防有人想知道后面的内容。

class LootData
{
    private string name;
    private int dest;
    private int id;

    public LootData(string Name, int Dest, int Id)
    {
        name = Name;
        dest = Dest;
        id = Id;
    }

    public string Name 
    {
        get { return name; } 
        set { name = value; } 
    }

    public int Dest
    {
        get { return dest; }
        set { dest = value; }
    }

    public int Id
    {
        get { return id; }
        set { id = value; }
    }
}
4

1 回答 1

0

GridArr在构造函数或按钮事件处理程序中初始化字段

private LootData[] GridArr;

public MainWindow()
{
    InitializeComponent();
    GridArr = new LootData[ArrX.Length];//ArrX.Length is accessible now
}
于 2012-10-31T22:20:15.130 回答