Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [Visual C#] Creare un file apposito solo per le variabili

    Ho una matrice di questo tipo:

    codice:
    double[,] ggg = { 
                { 30 , 5 , 4 , 4 },
                { 40 , 1 , 4 , 5 },
                { 40 , 5 , 6 , 7 }};
    che nel mio programma ha centinaia di righe. Vorrei poter salvare questa variabile ed eventualmente atre all'interno di un file diverso da MainWindows.xaml.cs però forrei sapere:

    1)Che estensione devo dare al file? (variabili.cs va bene?)
    2)Dove devo salvarlo? (nella stessa carela dove si trova MainWindows.xaml.cs va bene?)
    3)Cosa devo scrivere in MainWindows.xaml.cs per richiamare il file e cosa devo scrivere nel file in questione?

    grazie come sempre

  2. #2
    Ciao.
    Siccome la risposta può cambiare a seconda di ciò che vuoi fare ..... puoi spiegare un pò più nel dettaglio l'obbiettivo che vuoi raggiungere?? Ordine nel codice o cos'altro?
    Cosa ti spinge a creare una matrice di quel genere?
    Facci sapere...
    Ciao

  3. #3
    Prima di tutto grazie per il tuo aiuto. Certamente, le motivazioni sono duplici:

    1) ordine del codice
    2) creazione di un file contenente solo le variabili con matlab

    In realtà la matrice che vedi sopra, nel mio caso pratico, é molto più grande così vorrei evitare di vederla sparsa nel codice e poi se posso e se ne sono in grado, ma solo in un secondo tempo, vorrei produrre quel file che contiene quella matrice, che per la cronaca ha più di 65000 righe, con un altro programma, in cui viene calcolata, che si chiama matlab. Allo stesso tempo vorrei però salvare nell'eseguibile il file con i dati. In pratica vorrei evitare che il .exe funzioni solo con la presenza del .txt o .csv contenente i valori della matrice.

  4. #4
    Originariamente inviato da marchionili
    Prima di tutto grazie per il tuo aiuto. Certamente, le motivazioni sono duplici:

    1) ordine del codice
    2) creazione di un file contenente solo le variabili con matlab

    In realtà la matrice che vedi sopra, nel mio caso pratico, é molto più grande così vorrei evitare di vederla sparsa nel codice e poi se posso e se ne sono in grado, ma solo in un secondo tempo, vorrei produrre quel file che contiene quella matrice, che per la cronaca ha più di 65000 righe, con un altro programma, in cui viene calcolata, che si chiama matlab. Allo stesso tempo vorrei però salvare nell'eseguibile il file con i dati. In pratica vorrei evitare che il .exe funzioni solo con la presenza del .txt o .csv contenente i valori della matrice.
    Visto che le tue intenzioni sono un pò contradditorie ..... il tutto si riduce alla necessità di avere ordine nel codice.
    Pertanto potresti, semplicemente, dichiarare quella matrice in Modulo(static class in C#)
    codice:
    static class VariabiliGlobali
    {
    }
    e avere un visibilità globale della variabile
    oppure creare una partial class
    esempio:
    codice:
    partial class MainWindow
    {
    }
    sarebbe come un pezzo della classe MainWindow scritta in un file separato dal MainWinows.xaml.cs

    Facci sapere..
    Ciao

  5. #5
    Ho creato nella cartella del progetto un file chiamato variabili.cs e dentro ci ho scritto:

    codice:
    static class VariabiliGlobali
    {
    double[,] ggg = { 
                { 10 , 0 , 0 , 0 },
                { 40 , 5 , 5 , 999 },
                { 40 , 5 , 6 , 99 },
                { 50 , 5 , 6 , 6 },
                { 770 , 5 , 6 , 6 },
                { 50 , 5 , 6 , 3 },
                { 530 , 5 , 6 , 6 }};
    }
    Senza leggere errore quindi questo é ok però poi da MainWindow.xaml.cs come lo richiamo?
    Inoltre se cancello la matrice ggg dal fie MainWindow.xaml.cs leggo degli errori. Il software mi dice giustamente che la variabile non é stata inizilizzata.
    Su C++, per capirci, avrei scritto:

    codice:
    #include varibili.cs
    Qual'é l'analogo in C#?


  6. #6
    Innanzitutto, devi sostituire questo codice
    codice:
    static class VariabiliGlobali
    {
    double[,] ggg = { 
                { 10 , 0 , 0 , 0 },
                { 40 , 5 , 5 , 999 },
                { 40 , 5 , 6 , 99 },
                { 50 , 5 , 6 , 6 },
                { 770 , 5 , 6 , 6 },
                { 50 , 5 , 6 , 3 },
                { 530 , 5 , 6 , 6 }};
    }
    con questo
    codice:
    public static class VariabiliGlobali
        {
           public static double[,] ggg = { 
                { 10 , 0 , 0 , 0 },
                { 40 , 5 , 5 , 999 },
                { 40 , 5 , 6 , 99 },
                { 50 , 5 , 6 , 6 },
                { 770 , 5 , 6 , 6 },
                { 50 , 5 , 6 , 3 },
                { 530 , 5 , 6 , 6 }};
        }
    poi puoi raggiungere la variabili con il seguente percorso
    codice:
    WpfApplicationC.NewFolder1.VariabiliGlobali.ggg
    oppure importando il namespace con la direttiva using in testa al file
    codice:
    using WpfApplicationC.NewFolder1;
    ....etc...
    VariabiliGlobali.ggg
    ...etc.....

  7. #7
    codice:
    WpfApplicationC.NewFolder1.VariabiliGlobali.ggg
    Non funziona. WpfApplicationC é quello di destinazione oppure si deve creare un nuovo namespace in variabili.cs? variabili.cs deve essere contenuto nella stessa cartella dove si trova MainWindow.xaml.cs, giusto? NewFolder1 cosé?

  8. #8
    Si .... hai ragione ho sbagliato io
    codice:
    NomeDellaTuaApplicazione.NomeDellaCartella.NomeDellaClasse.ggg
    così dovrebbe essere più chiaro

  9. #9
    Neppure quello funziona... il nome della cartela contiene degli spazi... potrebbe essere quello?

  10. #10
    il nome della cartela contiene degli spazi... potrebbe essere quello?
    si

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.