0

ASP.NET を使用して C# で作業しています。このエラーには慣れていますが、今回は解決できません。次のようなドロップダウン リストにテキストがあります。

raमकुमारसिंह 8s2w8r

here राम कुमार सिंह is the name in HINDI while 8s2w8r is users' ID.

これら 2 つの値を分離し、セッション変数として渡す必要があります。私が使用しているロジックはコードに示されています。

 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");

インデックスが配列の境界外にあるため、常にエラーが発生します! 文字列を 2 つの部分に分割しているため、parts[0] と parts[1] が必要であるため、これを理解できません。提案してください...

4

3 に答える 3

2

文字列を最大2 つの部分に分割していますが、1 つしかない場合は、おそらく 1 つの部分になります。

このドキュメントを読む

それをアサートするparts.Length is == 2か、2 つの要素でのみ要素にアクセスするようにしてください

于 2013-01-08T09:01:16.383 に答える
2

このリンクを試してください。探している値ではなく、temp.ToString()返される値に問題があると思います。代わりにstring.joinSystem.Char[]を使用してください。

于 2013-01-08T09:20:31.990 に答える
1

次の逆の方法を使用します。

public string reverse(string s)
{
    return String.Join(String.Empty, s.ToCharArray().Reverse());
}
于 2013-01-08T09:25:36.280 に答える