C# 当值包含空格时,数据集上的UniqueConstraint失败

C# 当值包含空格时,数据集上的UniqueConstraint失败,c#,.net,datatable,dataset,C#,.net,Datatable,Dataset,我有一个datatable,其中一列有字符串值。我想在该列上强制一个唯一的约束,但如果我有两个值在末尾仅相差一个空格(如“test”和“test”),则约束将失败。我不希望这样,我希望这两个值被认为是唯一的,即使唯一的区别是末尾有一个空格。我该怎么做 try { DataTable dt = new DataTable("test"); dt.Columns.Add("nr");

我有一个datatable,其中一列有字符串值。我想在该列上强制一个唯一的约束,但如果我有两个值在末尾仅相差一个空格(如“test”和“test”),则约束将失败。我不希望这样,我希望这两个值被认为是唯一的,即使唯一的区别是末尾有一个空格。我该怎么做

try
            {
                DataTable dt = new DataTable("test");
                dt.Columns.Add("nr");
                dt.Columns.Add("text");
                DataRow dr = dt.NewRow();
                dr.ItemArray = new object[] { 1, "test" };
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr.ItemArray = new object[] { 2, "test " };
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr.ItemArray = new object[] { 3, "alabala" };
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr.ItemArray = new object[] { 4, "bbb" };
                dt.Rows.Add(dr);

                DataSet ds = new DataSet("testds");
                ds.Tables.Add(dt);

                ds.EnforceConstraints = true;
                UniqueConstraint unqUID = new UniqueConstraint(ds.Tables[0].Columns[1], true);
                ds.Tables[0].Constraints.Add(unqUID);

                int count = ds.Tables[0].Rows.Count;
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }

恐怕我不确定你能做些什么

它似乎只是低估了字符串末尾的空格。若您在第二行的开头像这样放置一个空格:-“test”。它包含空间,并确定两行是唯一的

我很想知道是否存在解决方案,但我找不到