2016-03-01 63 views
0

我想将每列放入单独的数组。这样我可以稍后从组合框中选择类别并显示值。但我不知道如何做到这一点,我甚至不知道阵列是一个好主意。提前致谢。C#列到数组

Category1 Category2  Category3 
---------- ------------ ------------ 
    13   1    12 
    12   1    13 
    12   5    14 
    44   3    15 
    23   6    16 

我已经试过这样的事情:

if(char.IsNumber(s.Trim().ToCharArray().ElementAt(0))) 
       { 
        double[,] p = new double[samples, columns]; 


        for(int i=0;i<samples;i++) 
        { 
         for(int j=0;j<columns;j++) 
         { 
          //p[i,j]= 
         } 
        } 
       } 
+2

您的数据没有意义。第1类与第2类和第3类有关?如果是这样,你确定13和12在第二列中与1相关吗?更重要的是,当你说你不知道如何做到这一点时,你会遇到什么问题? – NotMe

+0

或者你是否希望他们选择“类别1”,然后显示该列中的所有值? – NotMe

+0

是的。这些只是随机的价值​​。我有大量文件,包括栏目中的类型和度量。我想以某种方式存储它们,然后从组合框中选择例如Category1(测量类型1),然后使用这些值显示它们或绘制图形。 – Knight

回答

1

我会做到这一点是首先创建一个类的方法:

public class Category 
{ 
    public int Category1 {get;set;} 
    public int Category2 {get;set;} 
    public int Category3 {get;set;} 
} 

然后创建一个列表,并填充它:

var categories = new List<Category> { 
          new Category { Category1 = 13, Category2 = 1, Category3 = 12 }, 
          new Category { Category1 = 12, Category2 = 1, Category3 = 13 } 
    }; 
+0

问题是我不知道我会有多少列。它可能在不同的输入文件中有所不同。主要问题是我不知道如何读取它并将其放入数组中。我已经添加了我想要这样做,但我的想法看起来很愚蠢。 – Knight

1

我只是使用list(unl ess元素的数量将保持不变并且已知)
另外你还没有提到你从哪里阅读这份清单。 如果它只是一个文件将其转换为某种类型的XML并解析它或仅解析文本文件。如果db,然后使用ORM将下面的类映射到数据库对象,或者只是手动读取它们。

对于您的组合框
创建类和解析数据到这个类的对象

class Category 
{ 
    public string CategoryName {get; set;} 
    public List<int> CategoryItems {get; set} 
} 

对于组合框在XAML中有这样的事情

<ComboBox ItemSource="{Binding Categories}" 
      DisplayMemberPath="{Binding CategoryName}" 
      SelectedItem="{Binding SelectedCategoryIndex}"/> 
<ComboBox ItemSource="{Binding CategoryItems}"/> 

在您的视图模型为绑定这是你将如何拥有它

public int SelectedCategoryIndex {get; set;} 
public List<Category> Categories {get; private set;} 
public List<int> CategoryItems 
{ 
    get 
    { 
    return this.Categories[SelectedCategoryIndex].CategoryItems; 
    } 
} 

希望这会有所帮助