В VB существует функция Right, которая возвращает строку, содержащую указанное количество символов с правой стороны строки.Правая функция в C#?
Есть ли аналогичная функция в C#, которая делает то же самое?
спасибо.
В VB существует функция Right, которая возвращает строку, содержащую указанное количество символов с правой стороны строки.Правая функция в C#?
Есть ли аналогичная функция в C#, которая делает то же самое?
спасибо.
Обновление: Как упоминалось в комментариях ниже, мой предыдущий ответ терпит неудачу, если строка короче запрошенной длины (Right()
в VB.net этого не делает). Поэтому я немного обновил его.
Там нет аналогичного метода в C#, но вы можете добавить его с помощью следующего метода расширения, который использует Substring()
вместо:
static class Extensions
{
/// <summary>
/// Get substring of specified number of characters on the right.
/// </summary>
public static string Right(this string value, int length)
{
if (String.IsNullOrEmpty(value)) return string.Empty;
return value.Length <= length ? value : value.Substring(value.Length - length);
}
}
метод, предоставленный копируется из DotNetPearls, и вы можете получить ДОПОЛНИТЕЛЬНО там.
Нет встроенной функции. Вам нужно будет сделать небольшую работу. Как это:
public static string Right(string original, int numberCharacters)
{
return original.Substring(original.Length - numberCharacters);
}
Это будет возвращаться так же, как Right
делает в VB.
Надеюсь, это вам поможет! Код, взятый с: http://forums.asp.net/t/341166.aspx/1
Почему беда? – FrostyFire
Вы можете вызвать эту функцию из C#, импортировав пространство имен Microsoft.VisualBasic.
Но нет. Не используйте также .Right() из VB. Вместо этого используется новый метод .Substring()
.
вы можете использовать все визуальные основные специфические функции в C#
как это: -
Microsoft.VisualBasic.Strings.Right(s, 10);
вы будете ссылаться на Microsoft.VisualBasic Ассамблею, а также.
Это не лучший способ сделать это. Вы не должны полагаться на импорт сборки VB, если они не являются другим способом. – FrostyFire
также функция VB полагается на функцию подстроки C#, поэтому действительно может также расширить функцию подстроки. см. http://referencesource.microsoft.com/Microsoft.VisualBasic/Strings.vb.html#0dbb15fffce19341, и когда вы нажимаете на 'Substring' strings.cs, открывается! –
его не C# s, его .NET. VB lib является расширением lib, и если вы портируете код VB, который сильно использует расширение VB lib, тогда это хороший способ, или вы можете медленно переписать его в vanilla .NET. –
Функция VB.NET Right не будет работать, если параметр длины больше длины строки. – muratgu
Это вполне может быть. Вопрос в том, какой результат мы не хотим, если попытаемся получить больше символов из строки, которую она фактически хранит. Я лично предпочитаю исключение. Но вы правы, потому что для «идеальной» копии метода нам необходимо сначала проверить длину и проверить также нулевое значение. –
Я только что обновил свой ответ ... –