Как программист non.net, я ищу эквивалент .net старой функции vb left(string, length)
. Это было лениво, поскольку он работал для любой длины строки. Как и ожидалось, left("foobar", 3) = "foo"
в то время как, наиболее полезно, left("f", 3) = "f"
.
В .net string.Substring(index, length)
выдает исключения для всего вне диапазона. В Java у меня всегда был Apache-Commons lang.StringUtils. В Google я не очень хорошо разбираюсь в строковых функциях.
Edit:
@Noldorin - Вау, спасибо за ваши расширения vb.net! Моя первая встреча, хотя мне потребовалось несколько секунд, чтобы сделать то же самое в С#:
public static class Utils
{
public static string Left(this string str, int length)
{
return str.Substring(0, Math.Min(length, str.Length));
}
}
Обратите внимание на статический класс и метод, а также на ключевое слово this
. Да, их так же просто вызвать как "foobar".Left(3)
. См. Также расширения С# в msdn.