Frage von Firas2, 82

warum so viele Programmierfehler in c#?

ich bin ein Anfaenger, aber es kann nicht sein, dass ich so viele Fehler mache.

hier mein code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication3___C_sharp
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        int i;
        for (i = 0; i <= 200; i++)
            {
            progressbar1.Value = +i;
            }
    }
}

hier meine Fehler (19) :

1) CS1519 Ungueltiges Token "for" in Klassen-, Struktur- oder Schnittstellenmemberdeklaration

2) CS1519 Ungueltiges Token "=" ...

3) CS1519 ... "=" ...

4) CS1519 ..."<="...

5) CS1519 ..."<="...

6) CS1519 ..."++"...

7) CS1519 ..."++"...

8) CS1519 ..."="...

9) CS1519 ..."="...

10) CS1519 ...";"...

11) CS1519 ...":"...

12) CS1022 Typ- oder Namespacedefinition oder Dateiende erwartet

13) CS0103 Der Name "i" ist im aktuellen Kontext nicht vorhanden.

14) CS0103 Der Name "i" ...

15) CS0103 Der Name "i" ...

16) CS0103 Der Name "progressbar1.Value" ...

17) CS0103 Der Name "progressbar1" ...

18) CS0103 Der Name "Value" ...

19) CS0103 Der Name "i" ...

Antwort
von ElHafflo, 54

Korrektur:

Ich bin ein Anfänger, aber es kann nicht sein, dass ich so viele Fehler mache.
Hier mein Code:

Wie schon gesagt kann man in eine Klasse direkt keine solcher Aufforderungen schreiben. Du solltest eine Methode (=Funktion) erstellen und den Kode dort reinkopieren. Manchmal reagiert der Kompilierer etwas komisch bei gewissen Fehlern.

Kommentar von Firas2 ,

zu deiner Korrektur: Ich bin jetzt nicht in Deutschland, und hier gibt es die letzten drei Vokale nicht in der Tastatur. Frueher, als man diese Vokale im ANSI benutzte (heute kann man sie sogar im ANSI benutzen, aber das ist schwieriger...), waren sie ae, oe und ue.

Antwort
von KnorxyThieus, 9

Hallo,

du hast den auszuführenden Code direkt in die Klasse gepackt. Damit weiß der Compiler aber gar nicht, wann er ihn ausführen soll - du musst ihn eine Methode oder den Konstruktor verschieben, je nachdem, wann er ausgeführt werden soll.
Dein Beispiel würde übrigens vermutlich nicht allzu viel erzeugen, da Computer heute so schnell laufen, dass alle Statusänderungen der Fortschrittsanzeige binnen eines Sekundenbruchteils ausgeführt würden ... Hier müsstest du einen Timer verwenden.

Die vielen Fehlermeldungen rühren daher, dass der Compiler deinen Codeblock nun als Memberdeklarationen (Methoden, Eigenschaften, interne Klassen) auszuwerten versucht.

Antwort
von Serij92, 67

Pack die Anweisung in eine Methode oder Konstruktor und nicht direkt in die Klasse 

Kommentar von Firas2 ,

ich verstehe das nicht richtig... Wie gesagt, ich bin ein Anfaenger...

Kommentar von Serij92 ,

Pack die for schleife direkt in den MainWindow Konstruktor direkt unter InitializeComponent();

Quasi darauf achten dass die geschweiften Klammern von MainWindow Konstruktor deine for Schleife ebenfalls umschließen 

Kommentar von Firas2 ,

Danke. alle Fehler sind weg, nur beim Starten entstand ein Fehler:

Schweregrad

Code

Beschreibung

Projekt

Datei

Zeile

Unterdrückungszustand

Fehler

Unbekannter Buildfehler, "Die Datei oder Assembly "file:///C:\Users\4\Documents\Visual Studio 2015\Projects\WpfApplication3 - C sharp\WpfApplication3 - C sharp\obj\Debug\WpfApplication3 - C sharp.exe" oder eine Abhängigkeit davon wurde nicht gefunden. Im Modul wurde ein Assemblymanifest erwartet."

Kommentar von Firas2 ,

oh nein, ich kann kein Projekt mehr oeffnen

Keine passende Antwort gefunden?

Fragen Sie die Community