C# 未设置对象引用WHERE子句
即使我正在创建一个列表的新实例,也没有设置一个对象引用C# 未设置对象引用WHERE子句,c#,C#,即使我正在创建一个列表的新实例,也没有设置一个对象引用 List<QueryCritera> whereClause = new List<QueryCritera>(); whereClause=viewConfig.WhereClause; foreach (QueryCritera condishion in whereClause) { string filedname = condishion.fieldName; string fie
List<QueryCritera> whereClause = new List<QueryCritera>();
whereClause=viewConfig.WhereClause;
foreach (QueryCritera condishion in whereClause)
{
string filedname = condishion.fieldName;
string fieldValue = condishion.Rightvalue;
string operation = condishion.Operation;
}
List whereClause=新列表();
whereClause=viewConfig.whereClause;
foreach(Where条款中的查询标准条件)
{
字符串filedname=condithion.fieldName;
字符串字段值=condition.Rightvalue;
字符串操作=条件操作;
}
您的视图配置必须为空
if(viewConfig != null)
{
whereClause=viewConfig.WhereClause;
}
您的问题如下:
为viewConfig
null
为viewConfig.where子句
null
不是viewConfig.where子句
,而是包含null
值null
没错,您创建了一个空的
QueryCritera
对象列表。但是,稍后您将whereClause
分配给保存此列表的变量,即viewConfig.whereClause
,对于该变量,上面提到的某些情况是正确的,并且会导致问题。new list()代码>是无用的,因为您正在立即将列表重新分配给其他对象。它不会导致错误,但它是“条件”而不是“条件”。代码检查工具将显示这一点。不一定viewConfig
可以为空,viewConfig.WhereClause
可以为空,或者viewConfig.WhereClause
列表不能为空,但包含空值。我们不知道是哪一行,因为OP没有说明错误发生在哪一行。他必须调试他的代码。不一定viewConfig
可以为空,viewConfig.WhereClause
可以为空,或者viewConfig.WhereClause
列表不能为空,但包含空值。我们不知道是哪一行,因为OP没有说明错误发生在哪一行。他必须调试他的代码。@dcastro谢谢你的评论!我会相应地更新我的答案。