这个问题已经有一个答案在这里:

我想要做这样的事情:

   private User PopulateUsersList(DataRow row)
        {
            Users user = new Users();
            user.Id = int.Parse(row["US_ID"].ToString());
            if (row["US_OTHERFRIEND"] != null)
            {
                user.OtherFriend = row["US_OTHERFRIEND"].ToString();
            }
            return user;
        }

然而,我获得一个错误说 US_OTHERFRIEND 不属于表。我想简单地检查,如果它不是空,然后设置的价值。

是不是有办法做到这一点?

有帮助吗?

解决方案

你应该试试

if (row.Table.Columns.Contains("US_OTHERFRIEND"))

我不相信行有列财产本身。

其他提示

if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
   doSomethingUseful;
{
else { return; }

虽然数据行没有列财产,它确实有一个表,列可以进行检查。

你可以使用的DataColumnCollection)的数据表,以检查是否列在收集。

是这样的:

DataColumnCollection Columns = dtItems.Columns;

if (Columns.Contains(ColNameToCheck))
{
  row["ColNameToCheck"] = "Checked";
}

你可以使用

try {
   user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
   // do something if you want 
}
if (row.Columns.Contains("US_OTHERFRIEND"))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top