Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当在结果中找不到键时,如何使用PropertyValidationErrors查找Linq中的错误_C#_Linq - Fatal编程技术网

C# 当在结果中找不到键时,如何使用PropertyValidationErrors查找Linq中的错误

C# 当在结果中找不到键时,如何使用PropertyValidationErrors查找Linq中的错误,c#,linq,C#,Linq,我有下面的代码,如果结果包含键,它将发现一个错误。然后,它将选择错误计数: var foundError = results .Where(e => e.PropertyValidationErrors.Keys.Contains(id)) .Select(e => e.PropertyValidationErrors[id]).ToList(); 如果在结果中找不到id,我想查找一个错误。 我不确定语法。我想这样做: // This is not correct

我有下面的代码,如果结果包含键,它将发现一个错误。然后,它将选择错误计数:

var foundError = results
    .Where(e => e.PropertyValidationErrors.Keys.Contains(id))
     .Select(e => e.PropertyValidationErrors[id]).ToList();
如果在结果中找不到id,我想查找一个错误。 我不确定语法。我想这样做:

// This is not correct, but similar to what I want to do
var foundError = results
    .WhereNot(e => e.PropertyValidationErrors.Keys.Contains(id))
     .Select(e => e.PropertyValidationErrors[id]).ToList();

请就语法提出建议。谢谢

我想你可以

var foundError = results
    .Where(e => !e.PropertyValidationErrors.Keys.Contains(id))
    .Select(e => e.PropertyValidationErrors).ToList();

并且它将为不包含带有所选键的propertyValidationError的对象选择所有propertyValidationError。

我也可以这样做,但选择对其无效:var foundError=!results.Any(e=>e.PropertyValidationErrors.Keys.Contains(id));