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

    [c#]utilizzo della variabile locale non assegnata

    Ciao a tutti,il mio problema è nel codice seguente...
    Nella riga di codice "for (int j = 0; j < vettore.Length; j++) " mi sottolinea "vettore" e dice variabile non assegnata, ma perché?grazie in anticipo a tutti quelli che cercheranno di dare una risposta



    codice:
     private void button6_Click(object sender, EventArgs e)
            {
                string[] vettore;
                StreamReader SR = new StreamReader(@"contaclick.txt");
                while (!SR.EndOfStream)
                    filelettura.Add(SR.ReadLine());
                for (int i = 0; i < filelettura.Count(); i++)
                     vettore = filelettura[i].Split(',');
                int Inserisci=0, Mostra=0, InOrdinediAnno=0, Filmpiùvecchi=0;
                for (int j = 0; j < vettore.Length; j++) 
                {
                    if (vettore[j] == "Inserisci")
                        Inserisci++;
                    if (vettore[j] == "Mostra")
                        Mostra++;
                    if (vettore[j] == "In ordine di anno")
                        InOrdinediAnno++;
                    if (vettore[j] == "Film più vecchi")
                        Filmpiùvecchi++;
                    MessageBox.Show("Inserisci:" + Inserisci);
                }
            }

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    il vettore potresti dichiararlo direttamente dove lo inizializzi:

    codice:
    string[] vettore = filelettura[i].Split(',');

  3. #3
    Ci avevo pensato anche io, anche se non cambierebbe molto, ma se lo faccio mi viene fuori il seguente errore:" Un'istruzione incorporata non può essere una dichiarazione o un'istruzione con etichetta"

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    e si perchè il for ha una sola istruzione, non ci avevo pensato. a questo punto visto che quel for in realtà non serve a nulla in quanto per come l'hai scritto alla fine vettore sarà sempre e solo l'ultima riga del file di testo puoi benissimo eliminare il for e scrivere direttamente

    string[] vettore = filelettura[filelettura.Count() - 1].Split(',');

    oppure fare come avevo gia detto e rivedere un po' il codice. Molto probabilmente vorresti che tutto il codice sotto il primo for si ripetesse e quindi dovresti un po' rivedere le parentesi graffe.

    anche se non cambierebbe molto
    avrei potuto dirti fin da subito che bastava assegnare il vettore a null all'inizio per non avere il problema e cosi non sarebbe cambiato molto. Come ti ho detto io invece cambia in meglio.

  5. #5
    grande grazie mille

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.