我在ASP.NET中使用C#。我熟悉这个错误,但这次我无法解决。 我在下拉列表中有这样的文字:
रामकुमारसिंह8s2w8r
here राम कुमार सिंह is the name in HINDI while 8s2w8r is users' ID.
我需要将这两个值分开,并需要将它们作为会话变量传递。我正在使用的逻辑在代码中描述。
public string reverse(string s)
{
char []temp=s.ToCharArray();
Array.Reverse(temp);
return (temp.ToString());
}
string dropdowntextreversed=reverse(DropDownList1.Text);
char []delim=new char[]{' '};
string []parts=dropdowntextreversed.Split(delim,2);
string family_head_uid = reverse(parts[0]);
string family_head = reverse(parts[1]);
Session.Add("family_head", family_head);
Session.Add("family_head_uid", family_head_uid);
Response.Redirect("/WebForm1.aspx");
我总是得到一个错误,因为索引超出了数组的范围!我不明白这一点,因为我将字符串分成两部分,所以应该有部分[0]和部分[1]。请建议......
答案 0 :(得分:2)
答案 1 :(得分:2)
试试这个link。我认为temp.ToString()
中存在一个问题,它将返回System.Char[]
而不是您要查找的值。使用string.join代替。
答案 2 :(得分:1)
使用以下反向方法:
public string reverse(string s)
{
return String.Join(String.Empty, s.ToCharArray().Reverse());
}