System.ArgumentOutOfRangeException: string-Zuweisung begrenzen

26/11/2008 - 19:59 von Alberto Luca | Report spam
Hallo NewsGroup,

ich möchte einen String in einer max. Lànge zuweisen / übergeben.
Die Làngenbegrenzung in .Substring führt jedoch zu einem Fehler, falls das
Feld kürzer als der Làngenparameter ist.
Wie kann ich mein Problem lösen, ohne jedesmal die Lànge abzufragen?

Coding:
string s;
string s1 = "1234567890";
s = s1.Substring( 0, 5);
s = s1.Substring( 0, 15); // => Fehler

Hintergrund:
ein DB-Feld hat nur eine max. Lànge (z.B. 255).
Ist der Wert lànger, wird ein DB-Fehler erzeugt, weshalb ich das Feld nur in
der Max-Lànge zuweisen möchte.

Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Frank Dzaebel
26/11/2008 - 20:35 | Warnen spam
Hallo Alberto,

ich möchte einen String in einer max. Lànge zuweisen / übergeben.
Die Làngenbegrenzung in .Substring führt jedoch zu einem Fehler,
falls das Feld kürzer als der Làngenparameter ist.
Wie kann ich mein Problem lösen, ohne jedesmal die Lànge abzufragen?



Dir geht es ja anscheind um kurzen Aufrufcode.
Dann vielleicht:

string s1 = "1234567890";
string s = s1.Limit(15); //oder: s1.Limit(5);


public static class StringExtension
{
/// <summary>Begrenzt 'str' auf maximal 'max' Zeichen</summary>
public static string Limit(this string str, int max)
{
return str.Length > max ? str.Substring(0, max) : str;
}
}


[Gewusst wie: Implementieren und Aufrufen einer benutzerdefinierten
Erweiterungsmethode (C#-Programmierhandbuch)]
http://msdn.microsoft.com/de-de/lib...11042.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen