查找数据表的空值

Find the null value of a Datatable

我正在构建 AWS lambda 函数 .net core。

我遇到的问题是,当数据表的行/列中没有数据时,我仍然得到一个计数,反过来 getData != null && getData.Count() > 0 默认为 true 然后抛出一个 NullRefrenceError 由于进入循环时该值为 null,我尝试检查数据表中的多个 null 类型,它们仍然默认为 true。

是否有另一种方法来检查可为空的值,以避免赋值导致数据表列/行中的错误。

public object emailGets ( AType invoiceNum, ILambdaContext context )
        {
         Connection conn = new Connection();

         try 
         {
            string query = "SELECT QUERY";
            conn.getData(query);

                DataRow[] getData = conn.Dt.Select();


            if(getData != null && getData.Count() > 0)
            {

            foreach (var item in getData)
            {
              string yourItem = item.Field<String>("email").ToString();
            }
            return new userData { email = yourItem};
            }
             else 
            {

            return new userEmailAddress { email = null}; 
            }
            
        } catch ( Exception e )
         {
             throw e; 
         }

        }
    }

 public class userEmailAddress
    {
        public string email { get; set; }
    }

ToString() 将在源为空时抛出 NullReferenceException。所以当你这样做时

string yourItem = item.Field<String>("email").ToString();

item.Field<String>("email") 部分 returns 为 null,您将得到该异常。

幸运的是,那个 ToString() 调用是多余的,所以您可以简单地删除它,只需要:

string yourItem = item.Field<String>("email");

请记住,yourItem 现在可以为 null。