![](/img/trans.png)
[英]C# - How to give a default value using LINQ when the value returned is null
[英]C#: LINQ: If Null assign default value
我有一个 string[] 字段为 {prop1 = val1, prop2 = val2, amount = 30.00}。 我尝试按如下方式获取金额的值:
TransactionAmount = fields?.FirstOrDefault(x => x.ToLower().Contains("amount"))?.Split('=')[1].ToString();
如果金额(非字段)为空,如何分配默认值?
TransactionAmount = fields?.FirstOrDefault(x => x.ToLower().Contains("amount"))?.Split('=')[1].ToString() : "0.00"; //this is not working
谢谢
使用空合并运算符。 (或 ?? 运算符)
下面两个是一样的:
return A ?? B;//Using the null-coalescing operator.
if (A == null) return B;//Using if-else.
else return A;
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-coalescing-operator
检查数组是否为空:
//Is Fields null? if not, use fields, otherwise, use the
//new string array with the "DEFAULT_VALUE".
(fields ?? new string[] { "DEFAULT_VALUE" }).FirstOrDefault(x => x.ToLower().Contains("amount")).Split('=')[1];
并检查 FirstOrDefault 是否返回 null:
(fields.FirstOrDefault(x => x.ToLower().Contains("amount")) ?? "DEFAULT_VALUE").Split('=')[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.