我在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:'Sequence不包含匹配的元素'
有没有人对如何使这个工作有任何建议?
使用FirstOrDefault
代替和Null-conditional运算符:
user.first_name = claimsIdentity.Claims
.FirstOrDefault(c => c.Type == System.IdentityModel.Claims.ClaimTypes.GivenName)?.Value;
如果序列不包含任何元素,它将返回默认值。