2016-03-01 64 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; 
    } 
} 

希望這會有所幫助