Laden...

Substring: Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen

Erstellt von dimuwe vor 13 Jahren Letzter Beitrag vor 13 Jahren 13.156 Views
D
dimuwe Themenstarter:in
168 Beiträge seit 2005
vor 13 Jahren
Substring: Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen

Hallo,
ich habe folgenden fehler, den ich mir nicht erklären kann.
In meiner GUI Anwendung habe ich eine folgende Substring, die dort auch funktioniert.


// values[i]  ist "2bcdefghijklm"; 
// values[i].Length ist 13;
string sBC = String.Empty;
if ( values[i].StartsWith( "2" ) )
{
   sBC = values[i].Substring( 2, values[i].Length ); //  Hier kommt der fehler
   values[i] = "00" + sBC;
}

Nun will ich diese zeilen in eine Konsolenanwendung verwenden und bekomme diesen Fehler.

Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.
Parametername: length

Kann mir jemand sagen, was da falsch läuft?

Besten Dank
dimuwe

2.891 Beiträge seit 2004
vor 13 Jahren

Wenn deine Zeichenkette 5 Zeichen lang ist, und du ab der zweiten Stelle 5 Zeichen ausschneiden willst, geht das nicht. Denn deine Zeichenkette ist ja nur 5 Zeichen lang.

D
dimuwe Themenstarter:in
168 Beiträge seit 2005
vor 13 Jahren

Hallo dN!3L,

oh, ja. du hast völlig recht.
Jetzt frag ich mich natürlich, warum es in der anderen Anwendung ohne fehler funktioniert. sonderbar. Auf jeden Fall werde ich es da auch ändern.
Danke

2.891 Beiträge seit 2004
vor 13 Jahren

Jetzt frag ich mich natürlich, warum es in der anderen Anwendung ohne fehler funktioniert

Übergibst du denn auch immer die Länge? Denn wenn du eh bis zum Ende ausschneidest, brauchst du auch nur den Startindex übergeben.

Gruß,
dN!3L