RISOLTO Salvare valore variabili c#

Stato
Discussione chiusa ad ulteriori risposte.

\_io_/

Utente Attivo
234
17
CPU
Intel Core i5-8600k
Dissipatore
Cooler Master ml240l rgb
Scheda Madre
Gigabyte Aorus z370 Ultra Gaming rev 1
HDD
Wd blue 1tb / Kingstone 128 gb
RAM
HyperX Fury 8 gb
GPU
Nvidia GTX 1060 6gb Gigabyte Aorus Windforce oc
OS
Windows 10
Premetto di aver iniziato da poco ad utilizzare C# (più precisamente da fine settembre) e mi è sorto un dubbio

Come faccio a salvare il valore di una variabile?
Ho chiesto al prof, e mi ha detto che il modo più semplice è salvarli in un file di testo

Qualcuno saprebbe dirmi come posso fare?

Grazie in anticipo
 

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
La soluzione migliore sarebbe salvarle in un database, ma essendo tu agli inizi eviterei.
Come consigliato dal tuo prof, conviene salvarli in un file di testo.
https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files
Il primo commento spiega due metodi easy pizy per leggere e scrivere su file.
Ti consiglio inoltre di scegliere una qualche codifica per queste due operazioni (ovvero non salvare il valore puro e crudo ma creare una struttura (es JSON) in modo da rendere più agevoli entrambe le operazioni di lettura/scrittura).
Esempio (JSON):
{ "nomevariabile": "valorevariabile" }
 

\_io_/

Utente Attivo
234
17
CPU
Intel Core i5-8600k
Dissipatore
Cooler Master ml240l rgb
Scheda Madre
Gigabyte Aorus z370 Ultra Gaming rev 1
HDD
Wd blue 1tb / Kingstone 128 gb
RAM
HyperX Fury 8 gb
GPU
Nvidia GTX 1060 6gb Gigabyte Aorus Windforce oc
OS
Windows 10
La soluzione migliore sarebbe salvarle in un database, ma essendo tu agli inizi eviterei.
Come consigliato dal tuo prof, conviene salvarli in un file di testo.
https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files
Il primo commento spiega due metodi easy pizy per leggere e scrivere su file.
Ti consiglio inoltre di scegliere una qualche codifica per queste due operazioni (ovvero non salvare il valore puro e crudo ma creare una struttura (es JSON) in modo da rendere più agevoli entrambe le operazioni di lettura/scrittura).
Esempio (JSON):
{ "nomevariabile": "valorevariabile" }
Grazie mille, ora do un occhiata :ok:
 
  • Mi piace
Reazioni: rodhellas

Andretti60

Utente Èlite
6,440
5,091
In realtà quello che chiedi è come fare persistere il valore di alcune variabili tra una sessione e l'altra, tipico caso i settaggi del programma. Cosa comune a tutti i linguaggi, non solo C#
Originariamente su Windows tali valori venivano scritti nei file identificati dall’estensione .ini poi si è passati al registry (nel ramo current user), adesso si preferisce usare file in formato xml. Ma ognuno usa il metodo che fa più comodo. Personalmente mi piace xml perché è flessibile ed esiste una miriade di librerie per usarli (in C# sono perfino native nel linguaggio)
 
  • Mi piace
Reazioni: Mursey e \_io_/

Daniele00

Utente Attivo
208
10
In realtà quello che chiedi è come fare persistere il valore di alcune variabili tra una sessione e l'altra, tipico caso i settaggi del programma. Cosa comune a tutti i linguaggi, non solo C#
Originariamente su Windows tali valori venivano scritti nei file identificati dall’estensione .ini poi si è passati al registry (nel ramo current user), adesso si preferisce usare file in formato xml. Ma ognuno usa il metodo che fa più comodo. Personalmente mi piace xml perché è flessibile ed esiste una miriade di librerie per usarli (in C# sono perfino native nel linguaggio)


Quindi ad esempio avendo una qualsiasi variabile di un qualsiasi tipo è possibile salvarla su un file .xml?

Questo vale solo per variabili di Tipi creati nell'app stessa o serve qualche accorgimento nella definizione della classe?
 

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
Quindi ad esempio avendo una qualsiasi variabile di un qualsiasi tipo è possibile salvarla su un file .xml?

Questo vale solo per variabili di Tipi creati nell'app stessa o serve qualche accorgimento nella definizione della classe?
I datatype primitivi di c# son supportati dall'xml. Dovresti prima definire l'xml schema, in modo da poter creare l'xml ad hoc per i tuoi bisogni.
Cerca degli esempi per darti un'idea generale.
 

Andretti60

Utente Èlite
6,440
5,091
Xml è un semplice file di testo, per cui puoi salvare tutto in formato stringa. In altre parole, salvi le variabili che vuoi in formato stringa dopodiché le rileggi e converti nel tipo che vuoi. Questo vale anche negli formato di cui ho parlato.

Mi sono accordo che non ho parlato della serializzazione. In c# come altri linguaggi le classi possono essere definiti come serializzabili e quindi salvabili in formato binario su qualsiasi file o database. È un metodo estremamente veloce e richiede minima programmazione, ma non mi piace perché non è flessibile, in quanto non funziona più se si cambiano i dettagli della classe. Quindi occorre ricorrere a noiosi processi di versioning e conversioni, per cui si perdono i vantaggi della semplicità.
 

DareDevil_

Bob Aggiustatutto👨‍🔧
Staff Forum
Utente Èlite
22,506
10,609
CPU
Ryzen 7 3800X @4.4Ghz
Dissipatore
Gelid Solution Phantom
Scheda Madre
MSI B550 Tomahawk
HDD
Sabrent Rocket NVME 256GB+A400 120GB+P300 2 TB
RAM
32 GB DDR4 3200 MHz
GPU
Asus RTX 3070 ROG Strix OC
Monitor
AOC 24G2U
PSU
Corsair TX650M
Case
TG5 PRO RGB
Periferiche
Mouse : Logitech G502; Tastiera : Logitech G213; Volante : Logitech G920.
Net
🤡😭
OS
Windows 11
Premetto di aver iniziato da poco ad utilizzare C# (più precisamente da fine settembre) e mi è sorto un dubbio

Come faccio a salvare il valore di una variabile?
Ho chiesto al prof, e mi ha detto che il modo più semplice è salvarli in un file di testo

Qualcuno saprebbe dirmi come posso fare?

Grazie in anticipo
Chiudo come risolto come da te richiesto.
 
  • Mi piace
Reazioni: BWD87
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili