2011-07-01 89 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將是一個包含屬性的類作爲您的列。