Всякий раз, когда мне приходится выполнять строковые манипуляции в C #, я скучаю по старым добрым функциям Left
и Right
из Visual Basic, которые гораздо проще использовать, чем Substring
.
Поэтому в большинстве моих проектов на C # я создаю методы расширения для них:
public static class StringExtensions
{
public static string Left(this string str, int length)
{
return str.Substring(0, Math.Min(length, str.Length));
}
public static string Right(this string str, int length)
{
return str.Substring(str.Length - Math.Min(length, str.Length));
}
}
Примечание:
Часть Math.Min
присутствует, потому что Substring
выдает ArgumentOutOfRangeException
, когда длина входной строки меньше запрашиваемой длины, как уже упоминалось в некоторых комментариях к предыдущим ответам.
Использование:
string longString = "Long String";
// returns "Long";
string left1 = longString.Left(4);
// returns "Long String";
string left2 = longString.Left(100);