Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#中获取字符串列表中的前一个值?_C#_Winforms_List - Fatal编程技术网

如何在c#中获取字符串列表中的前一个值?

如何在c#中获取字符串列表中的前一个值?,c#,winforms,list,C#,Winforms,List,我正在尝试实现上一个和下一个按钮 我有一个名为list1的字符串列表,其中填充了用户从文本框输入的内容。我无法访问列表中的上一个(不是最后一个)字符串。IndexOf方法没有用,因为我不知道用户将输入什么 private void previousBtn_click(object sender, EventArgs e) { getList(); int min = 0; int max = list1.Count; if(max==min) {

我正在尝试实现上一个和下一个按钮

我有一个名为list1的字符串列表,其中填充了用户从文本框输入的内容。我无法访问列表中的上一个(不是最后一个)字符串。IndexOf方法没有用,因为我不知道用户将输入什么

private void previousBtn_click(object sender, EventArgs e)
{ 
    getList();
    int min = 0;
    int max = list1.Count;
    if(max==min)
    {
        previousBtn.Visible = false;
    }
    else
    {
        int temp =list.Count-1;
        //how do I get my string if I know the element index from the previous line?
        //textbox1.Text = thatPreviousString; 
    }
}
对不起,应该很简单,但我想不出来。如果该值对我来说是未知的,那么如何才能实际获取列表中的前一个字符串,因此我不能只使用find()和indexOf。 MSDN显示有一个名为Item的属性,但没有适当的教程或代码位来说明如何使用它

更新: 假设用户输入了“www.google.com”、“www.facebook.com”、“twitter.com”,然后是“www.yahoo.com”。此URL保存在列表1中。最后一个是“www.yahoo.com”,我可以通过调用last()获得它。用户可以随时按“上一步”按钮,因此我无法指定列表1中的元素数,它是动态增长的。我只能通过调用获取元素的数量

list1.Count and the last index by calling list1[list1.Count-1]
现在我知道了索引和元素的数量,那么如何获得前面的字符串,例如“www.twitter.com”,如果我只能说我可以给你索引,那么就把我的字符串还给你


顺便说一下,ElementAs只用于数组,不适用于列表

string temp=list[list.Count-1]将为您提供列表中的最后一个元素


string temp=list[list.Count-2]将为您提供上一个元素

请记住,列表是0索引的,即第一个元素通过
[0]
访问,因此最后一个元素将是
[list size-1]

所以在你的例子中
textbox1.Text=list[list.Count-2]
将前一个字符串写入文本框


但是,这并不能为您提供正确的先前功能。再次按“上一步”将不会给出
列表[list.Count-3]
。不过,您可以有一个
currentIndex
变量,例如,每当按下previous时,该变量就会递减,并执行
textbox1.Text=list[currentIndex]
string temp=list[list.Count-1]将为您提供列表中的最后一个元素


string temp=list[list.Count-2]将为您提供上一个元素

请记住,列表是0索引的,即第一个元素通过
[0]
访问,因此最后一个元素将是
[list size-1]

所以在你的例子中
textbox1.Text=list[list.Count-2]
将前一个字符串写入文本框


但是,这并不能为您提供正确的先前功能。再次按“上一步”将不会给出
列表[list.Count-3]
。不过,您可以有一个
currentIndex
变量,例如,每当按下previous时,该变量就会递减,并执行
textbox1.Text=list[currentIndex]
string temp=list[list.Count-1]将为您提供列表中的最后一个元素


string temp=list[list.Count-2]将为您提供上一个元素

请记住,列表是0索引的,即第一个元素通过
[0]
访问,因此最后一个元素将是
[list size-1]

所以在你的例子中
textbox1.Text=list[list.Count-2]
将前一个字符串写入文本框


但是,这并不能为您提供正确的先前功能。再次按“上一步”将不会给出
列表[list.Count-3]
。不过,您可以有一个
currentIndex
变量,例如,每当按下previous时,该变量就会递减,并执行
textbox1.Text=list[currentIndex]
string temp=list[list.Count-1]将为您提供列表中的最后一个元素


string temp=list[list.Count-2]将为您提供上一个元素

请记住,列表是0索引的,即第一个元素通过
[0]
访问,因此最后一个元素将是
[list size-1]

所以在你的例子中
textbox1.Text=list[list.Count-2]
将前一个字符串写入文本框

但是,这并不能为您提供正确的先前功能。再次按“上一步”将不会给出
列表[list.Count-3]
。不过,您可以有一个
currentIndex
变量,例如,每当按下previous时,该变量就会递减,然后执行
textbox1.Text=list[currentIndex]

如果我从上一行知道元素索引,如何获取字符串

如果我从上一行知道元素索引,如何获取字符串

如果我从上一行知道元素索引,如何获取字符串

如果我从上一行知道元素索引,如何获取字符串



您是否收到错误或错误的数据?如果出现错误,您可以分享它所说的吗?不太确定您的问题,但您可以使用它获取特定索引处的元素。您不能仅获取数组最后一个索引处的项,last-1、last-2等吗。?如果它是一个实际的
列表
,那么
.Last()
,等等?
是方括号运算符
[]
的正式名称,将通过反射和其他.NET语言使用。@Messerschmitt:最后一个之前的项将是最后-1索引中的项。这样,您就可以得到该索引处的实际字符串。您得到的是错误还是错误的数据?如果出现错误,您可以分享它所说的吗?不太确定您的问题,但您可以使用它获取特定索引处的元素。您不能仅获取数组最后一个索引处的项,last-1、last-2等吗。?如果它是一个实际的
列表
,那么
.Last()
,等等?
是方括号运算符
[]
的正式名称,将通过反射和其他.NET语言使用。@Messerschmitt:最后一个之前的项将是
int prevIndex; // element index from the previous line that you know
string temp = list1[prevIndex - 1];