一种返回字符串值的方法

时间:2014-06-27 15:42:16

标签: c# .net

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

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;
}

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

slidingText(label1.Text);

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

此致

3 个答案:

答案 0 :(得分: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;
    }

这是第二个解决方案:

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

这需要在来电方面进行转让。

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

public static string slidingText(string a) {
    return a.Substring(1) + a[0];
}

答案 1 :(得分:4)

让方法返回,样本:

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

您需要在label1.Text示例中设置所需的回报:

label1.Text = slidingText(label1.Text);

答案 2 :(得分:0)

首先,您已声明函数的返回类型为void,而不是string。尝试更改它,看看它是否适用于你。