Entwickler-Ecke
C# - Die Sprache - Der Name "Sampls" ist im aktuellen Kontext nicht vorhanden
itsaproblem - Di 28.10.08 14:41
Titel: Der Name "Sampls" ist im aktuellen Kontext nicht vorhanden
Hallo,
und zwar hab ich folgendes Problem, ich schreib grad eine Funktion, die wie folgt definiert ist.
(Also in der Funktion steht natürlich noch mehr, hab es nur zwecks dem Überblick raus gelöscht.)
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41:
| public static double[,] Einlesen(byte[] E, out int Stereo) {
... ... (hier werden alle Variablen definiert und initialisiert, wie z.B. ChunkNameRIFF, usw.) ...
if ((ChunkNameRIFF == "RIFF") && (RIFFTyp == "WAVE") && ((BitsSample == 16) || (BitsSample == 8))) { if (BitsSample == 16) { if (FormatTyp == 1) { double[,] Sampls = new double[ChunkLängeData / 4, 2]; } else { double[,] Sampls = new double[ChunkLängeData / 2, 2]; } } else { if (FormatTyp == 1) { double[,] Sampls = new double[ChunkLängeData / 2, 2]; } else { double[,] Sampls = new double[ChunkLängeData, 2]; } } } else { double[,] Sampls = new double[ChunkLängeData / 2, 2]; }
Stereo= FormatTyp;
return Sampls; (Zeile x) } |
Und ich kann nicht nachvollziehen, wieso immer die folgende Fehlermeldung kommt:
Fehler 1 Der Name "Sampls" ist im aktuellen Kontext nicht vorhanden. Zeile: x
Denn ich definier sie doch in jedem Zweig.
Hoff mir kann jemand sagen, was ich falsch mache.
Danke schon mal und viele Grüß
Moderiert von
Kha: C#-Tags hinzugefügt
bakachan - Di 28.10.08 14:48
definier die Variable einmal vor den bedingungen und weis sie an entsprechenden Stellen einfach nur zu .
(wenn du in einem Zweig eine Variable deklarierst wird diese am Ende des zweiges automatisch entfernt)
itsaproblem - Di 28.10.08 14:55
Danke für die schnelle Antwort, aber wenn ich sie davor def. dann muss ich sie ja in denn if-Anweisung raus machen. Doch das wollt ich ja gerade nicht, da die Felder ja unterschiedliche Länge haben, je nach dem welcher Fall eintritt. Sonst hab ich z.B. bei Mono 8 Bit ein Feld, dass fast 4 mal zu groß ist.
Oder hab ich dich falsch verstanden?
bakachan - Di 28.10.08 15:01
Da hast du mich falsch verstanden
am anfang vor den ganzen If-bedingungen deklarierst du die Variable nur
und Instanzieren bzw zuweisen tust du in den Zweigen
itsaproblem - Di 28.10.08 15:04
Ach so.
Hat prima funktioniert. Vielen vielen Dank für die super schnelle Hilfe.
Danke nochmals.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!