基本上我有一个字符串数组,里面有几个文本值。我想在加载时将数组中的值分配给字符串然后按下按钮将其更改为下一个值,一旦它到达结束它需要循环。因此,字符串将在数组中设置为一个值,然后在单击按钮后更改。
Array stringArray = Array.CreateInstance(typeof(String), 3);
stringArray.SetValue("ssstring", 0);
stringArray.SetValue("sstring", 1);
stringArray.SetValue("string", 2);
答案 0 :(得分:1)
这里有一些代码可以帮到你。你没有提到你正在使用的环境(ASP.NET,Winforms等..)
当您提供更多信息时,我会更新我的示例,使其更具相关性。
public class AClass
{
private int index = 0;
private string[] values = new string[] { "a", "b", "c" };
public void Load()
{
string currentValue = this.values[this.index];
}
private void Increment()
{
this.index++;
if (this.index > this.values.Length - 1)
this.index = 0;
}
private void button1_Click(object sender, EventArgs e)
{
Increment();
}
}
答案 1 :(得分:0)
设置索引= 0
设Count = StringArray.Count
开启按钮单击执行以下操作
Set Return Value As StringArray(Index)
Set Index = ( Index + 1 ) Mod Count
您可以在C#...
中编写该算法答案 2 :(得分:0)
您可以拥有一个包含和迭代字符串的类,如:
class StringIterator
{
private int _index = 0;
private string[] _strings;
public StringIterator(string[] strings)
{
_string = strings;
}
public string GetString()
{
string result = _string[_index];
_index = (_index + 1) % _strings.Length;
return result;
}
}
用法看起来像
class Program
{
private string _theStringYouWantToSet;
private StringIterator _stringIter;
public Program()
{
string[] stringsToLoad = { "a", "b", "c" };
_stringIter = new StringIterator(stringsToLoad);
_theStringYouWantToSet = _stringIter.GetString();
}
protected void ButtonClickHandler(object sender, EventArgs e)
{
_theStringYouWantToSet = _stringIter.GetString();
}
}