2011-07-01 61 views
5

我想建立一个4列的内存表数据结构,所以我可以查找基于列的任何组合(例如使用linq)的值。 是否有内置的数据类型或我必须自己制作一个(显然我不能)?内存表数据结构

回答

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"); 

+0

是否存在索引/某种方式来改进对某些字段集合的查询的概念?我的猜测是你需要用查询字段组成的键来创建字典,并且结果是对相关底层对象的引用;但这并不像简单地说“这个集合包含这些对象;我想为查询优化的属性就是这些”。 – JohnLBevan

2
+0

这很快。谢谢。我曾经认为DataTable只适用于数据库和东西。 – Steven

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 } 
}; 
3

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

1

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