2016-06-14 7 views
0

da ich einen blutigen Anfänger bin ich hier etwas Hilfe brauchen werden:C# Verwendung von nicht zugewiesenen lokalen Variablen innerhalb eines if Schleife

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Gauss_Algorithmus 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      if (x1 > 0 && x2 > 0) 
      { 
       x02 = (x2 * x1) - (x1 * x2); 
       y02 = (y2 * x1) - (x1 * y2); 
       z02 = (z2 * x1) - (x1 * z2); 
       d02 = (d2 * x1) - (x1 * d2); 
      } 
      Console.WriteLine("2.: " + x02 + "x + " + y02 + "y + " + z02 + " d02); 
     } 
    } 

Dort heißt es:

Verwendung von nicht zugewiesenen lokalen Variablen „x01, etc ....

verstehe ich den Fehler und weiß, dass x01 nur in einem lokalen Bereich definiert ist, aber nicht wissen, wie es zu beheben, da x01, et c) muss innerhalb der if Schleife definiert werden.

Ich hoffe, dass Sie mir Jungs helfen können, Dank im Voraus ..

+3

Diese Variabl Es ist nie definiert, so etwas schwer zu diskutieren; die Definitionsposition ist hier kritisch (ebenso wie die genaue Position, wo Dingen Werte zugewiesen werden). Können Sie es bearbeiten, um eine Version anzuzeigen, die mindestens den gleichen Fehler aufweist wie den Bericht, den Sie melden? –

+3

Und du verwendest niemals 'x01', was bedeutet, dass dies nicht der Code ist, der diesen Fehler erzeugt. Bitte geben Sie eine [MCVE] an. –

+0

fehlt auch ein '}', das den Gültigkeitsbereich der 'namespace'-Funktion schließt –

Antwort

1

Der beste Ratschlag zu tun ist, eine mit C# Tutorial am Anfang.

Beantwortung Insbesondere Ihre Frage gibt es zwei Dinge falsch:

  1. Sie müssen die Variablen deklarieren. Grundsätzlich mit var x02 = (x2 * x1) - (x1 * x2); usw.
  2. Die Verwendung der Variablen muss im gleichen Umfang sein. Entweder müssen Sie die Console.WriteLine innerhalb des if Block verschieben oder Sie müssen erklären und die Variablen vor dem if Block wie folgt zu initialisieren: var x02 = 0; etc
0

Wie bereits vorgeschlagen, ein gutes C# Tutorial für Anfänger sehen.

Variablen deklarieren erste, vielleicht von Integer-Typen, zB

int x1, x2, y1, y2, z1, z2, d1, d2, x02, y02, z02, d02; 

sie initialisieren vor, zB x1 = *value*; y1 = *value* ...

Reformierte das:

Um die Beispiel-Code arbeiten, gehen Sie wie folgt zu machen Console.WriteLine-Anweisung, zB: Console.WriteLine("2.: {0}", x02); //for displaying value of x02