SubString StringBuilder c #

7

Ich versuche es:

%Vor%

Aber in der 4 Zeile Es wird eine Ausnahme ausgelöst.

Warum?

    
Caipivara 15.02.2011, 17:09
quelle

9 Antworten

26

Das zweite Argument für StringBuilder.ToString(int, int) steht für < em> length der gewünschten Unterzeichenfolge, nicht deren Endindex.

  

Ruft einen Teilstring von diesem ab   Beispiel. Die Teilzeichenfolge beginnt bei a   angegebene Zeichenposition und hat a   angegebene Länge.

Zum Beispiel sollte die letzte Aussage wahrscheinlich lauten:

%Vor%

Bei einer anderen Anmerkung, wenn Sie nur Sub-Strings von der ursprünglichen Zeichenfolge abrufen möchten, können Sie einfach die String.Substring(int, int) Methode.

    
Ani 15.02.2011, 17:11
quelle
3
___ qstnhdr ___ SubString StringBuilder c # ___ answer5006958 ___

Zweiter Parameter ist die Länge, aber kein letzter Index. Also in deinem Fall 15 + 26 = 41 was außerhalb der Grenzen liegt.

    
___ antwort5006968 ___

Der zweite Parameter ist die Länge, also sollte

sein %Vor%     
___ answer5006948 ___

Das zweite Argument für %code% steht für < em> length der gewünschten Unterzeichenfolge, nicht deren Endindex.

  

Ruft einen Teilstring von diesem ab   Beispiel. Die Teilzeichenfolge beginnt bei a   angegebene Zeichenposition und hat a   angegebene Länge.

Zum Beispiel sollte die letzte Aussage wahrscheinlich lauten:

%Vor%

Bei einer anderen Anmerkung, wenn Sie nur Sub-Strings von der ursprünglichen Zeichenfolge abrufen möchten, können Sie einfach die %code% Methode.

    
___ qstntxt ___

Ich versuche es:

%Vor%

Aber in der 4 Zeile Es wird eine Ausnahme ausgelöst.

Warum?

    
___ answer5006961 ___

Das zweite Argument ist die Länge, nicht "Endezeichen". Es kann nicht 14 Zeichen ab dem 10. finden - daher der Fehler.

    
___ answer5006995 ___

Wenn ich dies ausführe, wird die Ausnahme in Zeile 5 ausgelöst, was sehr sinnvoll ist, da in Ihrer Eingabezeichenfolge nicht genügend Zeichen vorhanden sind, um ab 15 Zeichen zu erzeugen.

    
___ answer5006963 ___

Zunächst sollten Sie uns dokumentieren, welche Ausnahme Sie erhalten, anstatt uns im Dunkeln zu lassen, um es selbst herauszufinden, dann könnte ich sagen, dass Ihre Zeichenfolge nicht mehr als 24 Zeichen enthält ...

    
___ answer5007018 ___

Die Methode %code% funktioniert nicht wie erwartet. Die Parameter sind:

  1. startIndex : Die Startposition der Teilzeichenfolge in dieser Instanz.
  2. length : Die Länge der Teilzeichenfolge.

Sie beginnen also bei Index 15 und versuchen, die nächsten 26 Zeichen zu erhalten, die über die Länge der Zeichenfolge hinausgehen.

Die Dokumentation finden Sie hier .

    
___ answer5006959 ___

Die Dokumente geben eindeutig an, dass %code% ausgelöst wird, wenn "Die Summe von startIndex und die Länge ist größer als die Länge der aktuellen Instanz. "

    
___ antwort5007056 ___

Bitte überprüfen Sie, ob Ihr String Leerzeichen enthält und nicht Tab Zeichen. Dies ist der einzige Grund, warum Sie in der Zeile 4 eine Ausnahme haben können. Aber selbst wenn Ihre Zeichenfolge Leerzeichen enthält, wird eine Ausnahme in Zeile 5 angezeigt, weil 26 die Länge der Teilzeichenfolge und nicht der Index des letzten Zeichens ist.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123exception ___ Eine Ausnahme ist eine ungewöhnliche Bedingung, die eine Abweichung vom normalen Ablauf des Programms erfordert. Normalerweise sollte eine Ausnahme nicht zu einem Totalausfall führen, sondern stattdessen von einem Ausnahmebehandler begleitet werden. Die Ausnahmebehandlung ist ein eingebautes Konstrukt in vielen Programmiersprachen. In der Regel werden Ausnahmen behandelt, indem der Stapel abgewickelt wird und somit in einen definierten Zustand außerhalb des Gültigkeitsbereichs der Ausnahme zurückversetzt wird und dann ein Verarbeitungsblock oder eine Routine aufgerufen wird. ___ tag123stringbuilder ___ Stringbuilder ist eine Klasse, die eine bequeme und effiziente Möglichkeit bietet, mit Textdaten in Java und .NET zu arbeiten. ___
Tokk 15.02.2011 17:12
quelle
2

Die Dokumente geben eindeutig an, dass ArgumentOutOfRangeException ausgelöst wird, wenn "Die Summe von startIndex und die Länge ist größer als die Länge der aktuellen Instanz. "

    
Mark Rushakoff 15.02.2011 17:12
quelle
1

Zweiter Parameter ist die Länge, aber kein letzter Index. Also in deinem Fall 15 + 26 = 41 was außerhalb der Grenzen liegt.

    
Oleg Rudckivsky 15.02.2011 17:11
quelle
1

Das zweite Argument ist die Länge, nicht "Endezeichen". Es kann nicht 14 Zeichen ab dem 10. finden - daher der Fehler.

    
naivists 15.02.2011 17:12
quelle
1

Wenn ich dies ausführe, wird die Ausnahme in Zeile 5 ausgelöst, was sehr sinnvoll ist, da in Ihrer Eingabezeichenfolge nicht genügend Zeichen vorhanden sind, um ab 15 Zeichen zu erzeugen.

    
Reed Copsey 15.02.2011 17:15
quelle
0

Zunächst sollten Sie uns dokumentieren, welche Ausnahme Sie erhalten, anstatt uns im Dunkeln zu lassen, um es selbst herauszufinden, dann könnte ich sagen, dass Ihre Zeichenfolge nicht mehr als 24 Zeichen enthält ...

    
Davide Piras 15.02.2011 17:12
quelle
0

Die Methode StringBuilder.ToString funktioniert nicht wie erwartet. Die Parameter sind:

  1. startIndex : Die Startposition der Teilzeichenfolge in dieser Instanz.
  2. length : Die Länge der Teilzeichenfolge.

Sie beginnen also bei Index 15 und versuchen, die nächsten 26 Zeichen zu erhalten, die über die Länge der Zeichenfolge hinausgehen.

Die Dokumentation finden Sie hier .

    
akmad 15.02.2011 17:17
quelle
0
___ qstnhdr ___ SubString StringBuilder c # ___ answer5006958 ___

Zweiter Parameter ist die Länge, aber kein letzter Index. Also in deinem Fall 15 + 26 = 41 was außerhalb der Grenzen liegt.

    
___ antwort5006968 ___

Der zweite Parameter ist die Länge, also sollte

sein %Vor%     
___ answer5006948 ___

Das zweite Argument für %code% steht für < em> length der gewünschten Unterzeichenfolge, nicht deren Endindex.

  

Ruft einen Teilstring von diesem ab   Beispiel. Die Teilzeichenfolge beginnt bei a   angegebene Zeichenposition und hat a   angegebene Länge.

Zum Beispiel sollte die letzte Aussage wahrscheinlich lauten:

%Vor%

Bei einer anderen Anmerkung, wenn Sie nur Sub-Strings von der ursprünglichen Zeichenfolge abrufen möchten, können Sie einfach die %code% Methode.

    
___ qstntxt ___

Ich versuche es:

%Vor%

Aber in der 4 Zeile Es wird eine Ausnahme ausgelöst.

Warum?

    
___ answer5006961 ___

Das zweite Argument ist die Länge, nicht "Endezeichen". Es kann nicht 14 Zeichen ab dem 10. finden - daher der Fehler.

    
___ answer5006995 ___

Wenn ich dies ausführe, wird die Ausnahme in Zeile 5 ausgelöst, was sehr sinnvoll ist, da in Ihrer Eingabezeichenfolge nicht genügend Zeichen vorhanden sind, um ab 15 Zeichen zu erzeugen.

    
___ answer5006963 ___

Zunächst sollten Sie uns dokumentieren, welche Ausnahme Sie erhalten, anstatt uns im Dunkeln zu lassen, um es selbst herauszufinden, dann könnte ich sagen, dass Ihre Zeichenfolge nicht mehr als 24 Zeichen enthält ...

    
___ answer5007018 ___

Die Methode %code% funktioniert nicht wie erwartet. Die Parameter sind:

  1. startIndex : Die Startposition der Teilzeichenfolge in dieser Instanz.
  2. length : Die Länge der Teilzeichenfolge.

Sie beginnen also bei Index 15 und versuchen, die nächsten 26 Zeichen zu erhalten, die über die Länge der Zeichenfolge hinausgehen.

Die Dokumentation finden Sie hier .

    
___ answer5006959 ___

Die Dokumente geben eindeutig an, dass %code% ausgelöst wird, wenn "Die Summe von startIndex und die Länge ist größer als die Länge der aktuellen Instanz. "

    
___ antwort5007056 ___

Bitte überprüfen Sie, ob Ihr String Leerzeichen enthält und nicht Tab Zeichen. Dies ist der einzige Grund, warum Sie in der Zeile 4 eine Ausnahme haben können. Aber selbst wenn Ihre Zeichenfolge Leerzeichen enthält, wird eine Ausnahme in Zeile 5 angezeigt, weil 26 die Länge der Teilzeichenfolge und nicht der Index des letzten Zeichens ist.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123exception ___ Eine Ausnahme ist eine ungewöhnliche Bedingung, die eine Abweichung vom normalen Ablauf des Programms erfordert. Normalerweise sollte eine Ausnahme nicht zu einem Totalausfall führen, sondern stattdessen von einem Ausnahmebehandler begleitet werden. Die Ausnahmebehandlung ist ein eingebautes Konstrukt in vielen Programmiersprachen. In der Regel werden Ausnahmen behandelt, indem der Stapel abgewickelt wird und somit in einen definierten Zustand außerhalb des Gültigkeitsbereichs der Ausnahme zurückversetzt wird und dann ein Verarbeitungsblock oder eine Routine aufgerufen wird. ___ tag123stringbuilder ___ Stringbuilder ist eine Klasse, die eine bequeme und effiziente Möglichkeit bietet, mit Textdaten in Java und .NET zu arbeiten. ___
Igor Korkhov 15.02.2011 17:21
quelle

Tags und Links