2010-08-09 18 views
0

Conditions initiales:i besoin moyen rapide et pratique pour organiser les données de table en mémoire

DateTime moment 

string key 

double value 

quelque part dans le code que je veux

Add("2010.08.09 12:55:34", "px_ValX", 10); 
Add("2010.08.09 12:55:35", "px_ValX", 1); 
Add("2010.08.09 12:55:35", "px_ValY", 12); 
Add("2010.08.09 12:55:35", "px_ValZ", 100); 
Add("2010.08.09 12:55:38", "px_ValZ", 5); 

et je veux obtenir le tableau de ces données matrice

DataTable ToTable() 

qui produit

date|px_valX|px_ValY|px_ValZ 
"2010.08.09 12:55:34"|10|0|0 
"2010.08.09 12:55:35"|1|12|100 
"2010.08.09 12:55:38"|0|0|5 

Il serait également génial si je pouvais faire rapidement

double Get(DateTime moment, string key) 

et

DataTable Get(string key) 

qui produit le tableau suivant

data|value 
"2010.08.09 12:55:34"|10 

Il est la tâche plutôt SQL, mais j'ai besoin structure de données en mémoire. Je prévois d'utiliser la classe C# DataTable et sa méthode Select, mais je pense qu'il y a un moyen plus rapide et plus pratique.

droit à ce moment j'utilise la classe suivante dans mon application

[Serializable] 
public class CalcItem 
{ 
    public CalcItem() 
    { 
     Additional = new Dictionary<string, double>(); 
    } 
    public Dictionary<string, double> Additional { get; set; } 

    public DateTime Date { get; set; } 
} 

et CalcItemManager

public List<CalcItem> CalcItems { get; set; } 

Pour ajouter des données que je fais

var clc = new CalcItem(); 
clc.Additional.Add("px_ValX", 10); 
_dataManager.CalcItems.Add(clc); 

Répondre