我正在尝试创建一个方法(使标签向左滑动)。我尝试过研究了一下,然后想出了类似的东西。
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
的文本值并在方法中更改它,但更改的值永远不会超出方法。显然我错过了一些东西,但仍然无法弄清楚我错过了什么。
此致
答案 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。尝试更改它,看看它是否适用于你。