我在C#中有一个谓词我试图翻译成VB.net:
user.first_name = claimsIdentity.Claims.First(c => c.Type == System.IdentityModel.Claims.ClaimTypes.GivenName).Value;
致:
user.first_name = claimsIdentity.Claims.First(Function(claim) claim.Type = ClaimTypes.GivenName).Value
我收到以下错误:
System.InvalidOperationException:'序列不包含匹配项 元素“
有没有人对如何使这项工作有任何建议?
答案 0 :(得分:0)
使用FirstOrDefault
代替Null-conditional运营商:
user.first_name = claimsIdentity.Claims
.FirstOrDefault(c => c.Type == System.IdentityModel.Claims.ClaimTypes.GivenName)?.Value;
如果序列不包含任何元素,它将返回默认值。