我有一个应用程序,它将用户选择的值存储到数据集填充的数据表中的值。我需要基于此比较在表中设置另一列。但是这种比较是行不通的。它始终返回false,而不输入if条件。

foreach (DataRow dr in dsQuestions.Tables[0].Rows)
{
    if (dr["Data"] == indicater[0])
    {
        dr["IsSelected"] = true;
    }
}


indiactor[0]是字符串数组,并且dr["data"]也是string类型,但显示警告,提示您需要使用字符串类型。

最佳答案

首先,不能使用==比较字符串,而应使用equals方法:

foreach (DataRow dr in dsQuestions.Tables[0].Rows)
            {
               if (dr["Data"].tostring().Equals(indicater[0]))
                {
                    dr["IsSelected"] = true;
               }

关于c# - 比较datarow值和if中的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25638438/

10-13 09:41