13

在 VB 中有一个名为 Right 的函数,它从字符串的右侧返回一个包含指定数量的字符的字符串。

C#中是否有类似的功能可以做同样的事情?

谢谢你。

4

4 回答 4

35

更新:正如下面的评论中提到的,如果字符串短于请求的长度(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复制的,您可以在那里获得更多信息。

于 2013-05-28T02:04:34.957 回答
9

没有内置功能。你只需要做一点工作。像这样:

public static string Right(string original, int numberCharacters)
{
    return original.Substring(original.Length - numberCharacters);
}

这将像Right在 VB 中一样返回。

希望这对你有帮助!代码取自:http ://forums.asp.net/t/341166.aspx/1

于 2013-05-28T02:05:59.357 回答
5

您可以通过导入 Microsoft.VisualBasic 命名空间从 C# 调用此函数。

但是不要。也不要使用 .Right() 来自 VB。.Substring()改用较新的方法。

于 2013-05-28T02:06:48.123 回答
5

您可以在 C# 中使用所有 Visual Basic 特定功能

像这样 :-

Microsoft.VisualBasic.Strings.Right(s, 10);

您还必须参考 Microsoft.VisualBasic 程序集。

于 2013-05-28T02:09:54.567 回答