Je voudrais construire une structure de données de table en mémoire avec 4 colonnes afin que je puisse rechercher des valeurs en fonction de toute combinaison des colonnes (à l'aide de LINQ par exemple). Y a-t-il un type de données intégré pour cela ou dois-je m'engager un moi-même (évidemment je ne peux pas)? P>
8 Réponses :
voir DataTable P>
C'était rapide. Merci. J'avais l'habitude de penser que le genre était destiné uniquement à la base de données et de choses.
Si vous utilisez .NET Framework 4.0 Vous pouvez utiliser TUPLE! P>
Regardez ici: P>
tuple en C # 4.0 < / p>
Que diriez-vous simplement:
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 }
};
Vous pouvez utiliser un objet de jeu de données pour le faire. Voir: http: // Télécharger .microsoft.com / Download / 5/8 / 6 / 5868081C-68AA-40DE-9A45-A3803D8134B8 / LINQ_OVER_DATASET_FOR_CSHARP_DEMPOPENS.DOC P>
J'imagine que vous voulez probablement utiliser quelque chose comme une liste
Vous pouvez utiliser un dataTable code> ou même peupler une liste Fourcolclass code> serait une classe avec des propriétés comme colonnes. P>
sauf si vous avez quelque chose de spécifique à l'esprit, je déclare un type avec 4 propriétés avec des noms et des types appropriés, c'est-à-dire et utilisez n'importe quelle liste / tableau / dictionnaire, etc. Si nécessaire, ouc. juste p> etc. p> p>
Existe-t-il un concept d'indexation / un moyen d'améliorer les interrogations sur la collection de certains domaines? Je suppose que vous auriez que vous devriez créer des dictionnaires avec la clé composée des champs de requête et les résultats étant une référence à l'objet sous-jacent associé; Mais cela ne se sent pas aussi propre que simplement dire "cette collection détient ces objets; les propriétés que j'aimerais optimiser pour les requêtes sont celles-ci".