Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C#] passare valori tra metodi in un'unica classe

    saaalve, sto facendo un piccolo programmino per le matrici e con un menu' e uno switch faccio cio' che devo.
    Come apro il programma acquisisco la matrice con la funzione
    codice:
    public static double[,] InputMatrix()
    // chiedo il numero di righe e di colonne con un do-while
    // salvo i valori uno alla volta
    // chiamo la funzione
    PrintMatrix(matrix, numeroRighe, numeroColonne)
    fin qui tutto ok... ma quando torno nel Main perdo il valore di numeroRighe e numeroColonne.
    La mia domanda è:
    si può fare qualcosa del tipo
    codice:
    class MainProgram
    {
       int numeroRighe, numeroColonne;
       public static void Main(string[] args)
       {   // acquisisco la matrice
           matrix = InputMatrix();
           // stampo la matrice
           PrintMatrix(matrix, numeroRighe, numeroColonne);
           // conosco numeroRighe e numeroColonne perchè in precedenza ho chiamato InputMatrix();
       }
    
       public static double[,] InputMatrix()
       {
          // acquisisco numeroRighe e numeroColonne
          numeroRighe = int.Parse(Console.ReadLine());
          numeroColonne = int.Parse(Console.ReadLine());
       }
    }
    con un qualcosa del genere ho dichiarato le variabili fuori dal Main e gli ho assegnato un valore nel metodo esterno al Main, ma non funziona... come faccio? ovviamente questa era solo un'ipotesi che ho provato, non ho idea di quale sia il metodo furbo per farlo...
    altrimenti, data una matrice del tipo jagged array come nel mio caso marix[,] come posso ricavare la lunghezza delle righe e delle colonne ricorrendo a dei metodi?

  2. #2
    Non ho capito benissimo, anche perché uso VB... ma non basta dichiarare

    numeroRighe, numeroColonne

    Come variabili PUBBLICHE in un Modulo?

  3. #3
    Quote Originariamente inviata da eziogsv Visualizza il messaggio
    Non ho capito benissimo, anche perché uso VB... ma non basta dichiarare

    numeroRighe, numeroColonne

    Come variabili PUBBLICHE in un Modulo?
    con modulo intendi dire metodo?

    perchè avevo provato a dichiararle prima del Main come public int ma mi dava svariati errori tipo:
    "an object reference is required to access non static members 'namespace.nomeclasse.variabile'"

  4. #4
    Quote Originariamente inviata da mastodilu Visualizza il messaggio
    con modulo intendi dire metodo?...
    No... intendo Modulo (VB). Ma vedo che in C# i Moduli non ci sono.

    Copio ed incollo quanto vedo sul web...

    "Le classi statiche in C# sono esattamente l’omologo dei moduli di VB.NET, ovvero dei veri e propri “contenitori di funzioni”, non instanziabili direttamente".

    Di più non so, visto che il C# non lo conosco.







  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Togli static dal metodo InputMatrix perché non puoi usare variabili esterne al metodo statico.

  6. #6
    ah perfetto grazie

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.