排序和存储数据

时间:2020-07-23 17:09:53

标签: c# storage

所以我在尝试存储数据时确实遇到了麻烦,希望以后可以显示,基本上是将.CSV文件加载到我的程序中,该程序有3列,可以说是动物的性别和年龄。共有8种独特的动物,有80种性别和400个年龄。因此,一只动物可能具有10种性别和200个年龄,第四,类似于数据库,表格和列。

我想将它们存储在它们自己的自定义类中,这样我可以说出Animal [1]的所有性别,然后返回这10个值。 CSV样本:

cat,blue,a
dog,male,p
dog,male,f
dog,female,l

我遇到的问题是存储这些值,因为您可以看到它们并不是每行唯一的,而在第2行中,您可以看到在男性下的dog集合应具有p和f。我尝试将它们全部与字典一起分成列表,这样我就可以将它们映射到正确的位置,但总是遇到独特的关键问题。

我要在其中存储数据的对象是:

Dictionary<string, Dictionary<string, List<string>>> Results = new Dictionary<string, Dictionary<string, List<string>>>();

我没有发布帮助的“方法”,因为我什至无法做到。我在这里问我应该如何存储这些数据。除了上面的解决方案之外,我还尝试了一个带有3个字典的自定义类的列表来存储和映射数据,但是再次失败。

在我如何对数据库,表和列的样式之类的数据库中的数据进行排序,存储和访问之后,有人可以提供帮助吗?谢谢!还是任何可以帮助的nuget软件包?

1 个答案:

答案 0 :(得分:1)

创建一个类动物,例如:

class Animal
{
    public string Name {get; set; }
    public string Gender { get; set; }
    public string Age { get; set; }
}

将数据加载到List<Animal> animals中,然后可以使用linq查询。示例:

查询所有狗:animals.Where(x => x.Name == "dog");

查询狗的所有性别:

animals.Where(x => x.Name == "dog")
       .Select(x => x.Gender)
       .Distinct();