内存表数据结构

时间:2011-07-01 09:02:30

标签: c# data-structures

我想构建一个包含4列的内存表数据结构,这样我就可以根据列的任意组合查找值(例如使用linq)。 是否有内置的数据类型或者我必须自己制作一个(显然我不能)?

8 个答案:

答案 0 :(得分:5)

除非你有一些特定的东西,否则我会声明一个具有4个属性的类型,这些属性具有合适的名称和类型,即

public class SomethingSuitable {
    public int Foo {get;set;}
    public string Bar {get;set;} 
    public DateTime Blap {get;set;}
    public float Blip {get;set;} 
}

并根据需要使用任何列表/数组/字典等,或只是

data.Single(x => x.Bar == "abc");

答案 1 :(得分:4)

检查DataTable课程。

答案 2 :(得分:3)

如果使用.Net Framework 4.0,则可以使用Tuple!

看这里:

Tuple in C# 4.0

答案 3 :(得分:3)

我想你可能想要使用像List<Tuple<T1,T2,T3,T4>>

这样的东西

答案 4 :(得分:2)

请参阅DataTable

答案 5 :(得分:2)

答案 6 :(得分:1)

简单地说:

var dataStructure = new[] {
    new { col1 = "something", col2 = "something else", col3 = 12, col4 = true },
    new { col1 = "ha", col2 = "ha ha", col3 = 356, col4 = false },
    new { col1 = "grrr", col2 = "grr grr", col3 = 213, col4 = true }
};

答案 7 :(得分:1)

您可以使用DataTable甚至填充List<FourColClass>,这将符合您要求的数据类型。 FourColClass将是一个以属性作为列的类。