2011-07-01 30 views
5

4 sütunlu bir bellek içi tablo veri yapısı oluşturmak istiyorum, böylece sütunların herhangi bir birleşimini (örneğin linq kullanarak) temel alarak değerler arayabilirim. Bunun için yerleşik bir veri türü var mı yoksa kendim mi yapmalıyım (açıkçası yapamam)? Eğer .Net Framework 4.0 Eğer Tuple kullanabilirsiniz kullanırsanızIn-Memory Tablo Veri yapısı

cevap

5

Aklınızda belirli bir şey yoksa, herhangi bir liste yani uygun isimler ve türleri ile 4 özellikleri,

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

ile bir tür ilan edip kullanmak istiyorsunuz/dizi/Sözlük vb gerektiği gibi, ya da sadece

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

vb

+0

Belirli alanlar için koleksiyonda sorgulamayı iyileştirmek için bir dizin oluşturma/bir yol var mı? Tahminimce, sorgu alanlarından oluşan anahtar ile sözlükler oluşturmanız ve sonuçların ilgili temel nesneyi referans almanız gerekir. ama bu sadece "bu koleksiyonda bu nesneleri barındırıyor; sorgular için optimize etmek istediğim özellikler şu:" diyerek temiz hissetmiyor. – JohnLBevan

2

+0

Bu hızlıydı. Teşekkürler. Eskiden DataTable'ın sadece veritabanı ve şeyler için olduğunu düşünürdüm. – Steven

1

Nasıl basitçe hakkında:

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

Ben muhtemelen bir DataTable hatta ihtiyacının veri türlerini yapışabilen bir List<FourColClass> doldurma kullanabileceği bir List<Tuple<T1,T2,T3,T4>>

1

gibi bir şey kullanmak istiyorum hayal ediyorum. FourColClass, sütunlarınızdaki özelliklere sahip bir sınıf olur.