某ASP.NET書 String.Replace() 使用錯誤

摘要:某ASP.NET書 String.Replace() 使用錯誤

某ASP.NET書中的某範例利用Session記錄使用者在GridView選擇的一些主索引鍵,
假設以Label1.Text表示該Session,Label2.Text表示使用者要取消選擇的主索引鍵,
則下列程式會導致Label1.Text變成"2,112"的錯誤,

        Label1.Text = "1,2,11,12";
        Label2.Text = "1";
        if (Label1.Text.IndexOf(Label2.Text, 0) >= 0)
        {
            string 要刪除的字串 = Label2.Text + ",";
            Label1.Text = Label1.Text.Replace(要刪除的字串, "");
        }

提議將程式改成如下可解決,

        Label1.Text = "(1),(2),(11),(12)";
        Label2.Text = "(1)";
        if (Label1.Text.IndexOf(Label2.Text, 0) >= 0)
        {
            string 要刪除的字串 =  Label2.Text + ",";
            Label1.Text = Label1.Text.Replace(要刪除的字串, "");
        }