If your problem is just the aesthetics of what you are looking at, it is trivial to wrap this functionality in an extension method:
public static string RemoveFromEnd(this string stringValue, int removedCharacters)
{
return stringValue.Substring(0, stringValue.Length - removedCharacters);
}
So you can just use
str.RemoveFromEnd(2);
and run with it.
, string.length - , . .Net , String.Length , . , String.Length (, Big-O (1)) . , , . .Net (, Big-O (n)), n - . . .
, , , . - , StringBuilder :
public static string RemoveFromEnd(this string stringValue, int removedCharacters)
{
var newString = new StringBuilder(stringValue);
newString.Length = newString.Length - removedCharacters;
return newString.ToString();
}
, Reflector, , StringBuilder.Length , . , , . , , , StringBuilder , , , .
EDIT: , StringBuilder.Length String.Length , , StringBuilder , .