J'ai un dictionnaire statique que j'ai besoin d'utiliser dans mon programme. Je l'ai chargé dans un dictionnaire et je me demandais comment et où le stocker afin que je puisse accéder à ses valeurs plus tard le plus facilement possible . Je me demandais d'en faire un fichier xml avec une paire clé-> value mais je ne sais pas exactement comment l'enregistrer et le formater plus tard je peux l'appeler comme je peux appeler mes clés et valeurs appSettings (en utilisant LINQ). J'ai juste besoin de l'avoir stocké quelque part, en tant que ressource pourquoi pas, et chaque fois que j'ai besoin d'une valeur particulière pour une clé, il ne faut pas plus d'une ligne de code pour obtenir sa valeur.Où stocker mon dictionnaire
0
A
Répondre
0
Vous pouvez utiliser LINQ2XML pour créer deux méthodes d'écriture et de lecture de l'objet Dictionary.
Stockage du dictionnaire (extension/changement pour vos types) dans un fichier:
private void storeXml(string location, Dictionary<int, string> data)
{
var xml = new XElement("storage",
data.Select(kv => new XElement("entry",
new XElement("key", kv.Key),
new XElement("value", kv.Value))));
xml.Save(location);
}
données lues à partir d'un fichier et remplir l'objet dictionnaire:
private Dictionary<int, string> readXml(string location)
{
var data = new Dictionary<int, string>();
var xml = XDocument.Load(location);
foreach(var element in xml.Descendants("entry").ToList())
{
var key = int.Parse(element.Element("key").Value);
var value = element.Element("value").Value;
data.Add(key, value);
}
return data;
}
Le code peut être utilisé comme ceci:
var data = new Dictionary<int, string>();
data.Add(1, "one");
data.Add(2, "two");
data.Add(3, "three");
data.Add(4, "four");
var fileLocation = @"d:\temp\dictionary.xml";
storeXml(fileLocation, data);
var d = readXml(fileLocation);
Le fichier XML ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?>
<storage>
<entry>
<key>1</key>
<value>one</value>
</entry>
<entry>
<key>2</key>
<value>two</value>
</entry>
<entry>
<key>3</key>
<value>three</value>
</entry>
<entry>
<key>4</key>
<value>four</value>
</entry>
</storage>
Questions connexes
- 1. Comment puis-je stocker des valeurs dans mon dictionnaire
- 2. dictionnaire où les matches clés
- 3. Où puis-je obtenir un dictionnaire bilingue pour mon application?
- 4. Stocker un dictionnaire dans un dictionnaire dans Erlang
- 5. Java NetBeans - stocker mon .DLL dans PATH - où est-il?
- 6. Où dois-je stocker une référence à mon conteneur DI?
- 7. Où mon service cloud Azure doit-il stocker les fichiers?
- 8. FourSquare: Où dois-je stocker mon secret client?
- 9. Où devrais-je stocker des fichiers pour mon application Web?
- 10. Où puis-je stocker les URL de mon serveur Web?
- 11. où/comment stocker une image privée dans mon application? (Android)
- 12. Où puis-je stocker les données de mon site Web?
- 13. Où dois-je stocker les paramètres de mon programme javascript?
- 14. Stocker System.Windows.Controls dans un dictionnaire
- 15. Comment stocker un gros dictionnaire?
- 16. Où stocker les métadonnées
- 17. ExecutorService où stocker
- 18. Où stocker des données?
- 19. Stocker des ints dans un dictionnaire
- 20. SQLite et où - Dictionnaire T9
- 21. Android où stocker les fichiers
- 22. Où puis-je stocker un fichier de commandes pour qu'il s'exécute n'importe où sur mon ordinateur?
- 23. Android: Où stocker un objet
- 24. Où stocker MongoClient dans Django
- 25. Où java.util.logging.Logger stocker leur journal
- 26. Comment stocker CGPoint dans un dictionnaire?
- 27. Comment stocker une matrice dans un dictionnaire
- 28. Où stocker des chaînes constantes
- 29. Rails - où stocker les collections
- 30. Où charger un dictionnaire prédéfini?
Cela pourrait aider: http://stackoverflow.com/a/1799792/1303986 – computer10171
Cela devrait également vous aider: http://stackoverflow.com/a/1710942/1303986 – computer10171
Voilà comment je great.BUt Je peux l'utiliser à partir de maintenant? Je veux le stocker quelque part dans mon projet et y accéder quand je veux? – user2128702