将 C# 列放入数组中
本文关键字:数组 | 更新日期: 2023-09-27 18:37:06
我想把每一列放到单独的数组中。以便我以后可以从组合框中选择类别并显示值。但我不知道该怎么做,我什至不知道数组是否是一个好主意。提前谢谢。
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]=
}
}
}
我这样做的方法是首先创建一个类:
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 }
};
我只会使用列表(除非元素的数量保持不变且已知)
你也没有提到你从哪里阅读这个列表。如果它只是一个文件,则将其转换为某种类型的xml并解析它或仅解析文本文件。如果是 db,则使用 ORM 将以下类映射到 db 对象或手动读取它们。
为您的组合盒
创建一个类并将数据解析到此类对象中
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;
}
}
希望这有帮助