Comment faire pour enregistrer les valeurs de la variable sur la sortie du programme?
Je suis en train d'utiliser une ArrayList pour stocker un nombre variable de cordes, et voudrais savoir comment faire pour enregistrer la liste de tableaux et de ses éléments, de sorte que mon formulaire windows peuvent se rappeler de leur valeur entre le chargement de programme et de sortie.
J'ai utilisé pour stocker les informations dans un fichier texte, mais éviter de fichiers externes si possible.
Merci pour toute aide que vous pourriez apporter.
Peut-être économiser de registre?
comment sur une base de données incorporée? (cependant, je trouve que tout le overkill pour seulement 1 tableau)
Vous devez stocker les informations de quelque part externe à votre demande, alors, où est votre préféré? Fichier de registre ou une base de données sont les options - vous devez spécifier si vous souhaitez une réponse utile.
supposons que le fichier va être la meilleure approche, car vous aurez probablement des problèmes avec l'accès au registre, DB va être exagéré comme il a été dit
Ne sont pas directement liées à votre question, mais jolie s'il vous plaît, utilisez générique collections (par exemple,
comment sur une base de données incorporée? (cependant, je trouve que tout le overkill pour seulement 1 tableau)
Vous devez stocker les informations de quelque part externe à votre demande, alors, où est votre préféré? Fichier de registre ou une base de données sont les options - vous devez spécifier si vous souhaitez une réponse utile.
supposons que le fichier va être la meilleure approche, car vous aurez probablement des problèmes avec l'accès au registre, DB va être exagéré comme il a été dit
Ne sont pas directement liées à votre question, mais jolie s'il vous plaît, utilisez générique collections (par exemple,
List<string>
), pas ArrayList
.OriginalL'auteur user1197993 | 2012-07-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez enregistrer la liste de tableaux (si ce n'est ArrayList leur sont d'autres classes) à l'aide de Les propriétés.Paramètres meilleure partie est qu'il vous permet le réglage variable au niveau de l'Application et des utilisateurs de niveau
Un très bon exemple peut être trouvé ici comment utiliser les paramètres globaux http://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C
Votre accueil et sera heureux de vous aider si vous êtes bloqué
Cela va créer un fichier externe pour l'utilisateur. Selon les détails de la signature de code, cela pourrait être différent pour chaque version de l'application: les données enregistrées seront perdues sur une mise à niveau.
sur la fenêtre des propriétés de la BuildAction pour les paramètres peuvent tourné dans le Emebedded Ressources
HatSoft, j'ai mis la variable str comme un type de chaîne dans les paramètres, puis j'essaie de dire string str1 = Propriétés.Les paramètres.str mais ensuite, il dit sa un "champ", mais qu'elle soit utilisée comme un "type". Quel pourrait être le problème?
OriginalL'auteur HatSoft
Je l'ai toujours fait à l'aide de (Winforms, dans votre cas, de les sons de celui-ci), le Form_Closing de magasin pour une des Propriétés.Les paramètres de la variable, vous devez créer au préalable. Si c'est une liste de tableaux, vous pouvez stocker en XML ou une liste séparée par des virgules. Votre serizliation/désérialisation de la méthode dépendra de vos données.
OriginalL'auteur Echilon
Ont un coup d'oeil à le stockage isolé.
OriginalL'auteur Yoeri
Inévitablement le stockage de données entre les courses auront besoin de quelque chose en dehors du programme exécutables.
Le registre, mais le registre n'est pas idéal pour le rangement de rien de plus qu'une petite quantité d'informations. Une base de données qui pourrait être utilisée par qui ajoute des fichiers.
Pour les chaînes de texte d'un fichier texte, une chaîne de caractères par ligne1 – peuvent être sauvegardés et chargés en une seule instruction. Placer le fichier dans le stockage isolé, ou en vertu d'un dossier dédié dans %AppData%, limite les chances d'un utilisateur gâcher.2.
Ici à l'aide de
ToArray()
commeArrayList
ne pas mettre en œuvreIEnumerable<String>
(List<String>
serait un meilleur choix pour une collection et d'éviter ce problème).1 Cela suppose la fin de la ligne n'est pas valable à l'intérieur des chaînes. Si cela doit être pris en charge il y a un certain nombre d'options. Certains format de fichier pour séparer les cordes par un autre mécanisme, ou peut-être le plus facile sera pour échapper les caractères avec une simple transformation (par exemple.
\
→\\
, saut de ligne →\n
, et un retour chariot →\r
).2 Vous ne pouvez pas empêcher sans une complexité supplémentaire qui permettrait d'utiliser quelque chose comme un service pour charger/enregistrer sous un autre nom d'utilisateur ainsi permettant aux données d'être protégé par une ACL.
OriginalL'auteur Richard