一种返回字符串值的方法

-4 .net c#

我正在尝试创建一个方法(使标签向左滑动).我已经尝试过研究了一下,想出了类似的东西.

public static void slidingText(string a)
{
    string first = a.Substring(1, a.Length - 1);
    string second= a.Substring(0, 1);
    a = first + second;
    return a;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我像这样使用它时(在按钮等上):

slidingText(label1.Text);
Run Code Online (Sandbox Code Playgroud)

我一无所获.我已经研究了一段时间,看到我可以获得文本值label1并在方法中更改它,但更改的值永远不会超出方法.显然我错过了一些东西,仍然无法弄清楚我错过了什么.

问候

das*_*ght 5

有两种方法可以使它工作:

  • string a通过引用更改您的代码,或
  • 更改您的代码以返回string.

这是第一个解决方案(这不适用于属性):

public static void slidingText(ref string a)
    {
        string first = a.Substring(1, a.Length - 1);
        string second= a.Substring(0, 1);
        a = first + second;
    }
Run Code Online (Sandbox Code Playgroud)

这是第二个解决方案:

public static string slidingText(string a)
    {
        string first = a.Substring(1, a.Length - 1);
        string second= a.Substring(0, 1);
        return first + second;
    }
Run Code Online (Sandbox Code Playgroud)

这将需要在呼叫者方面进行分配.

您可以进一步优化代码,使其成为一行代码:

public static string slidingText(string a) {
    return a.Substring(1) + a[0];
}
Run Code Online (Sandbox Code Playgroud)