gpt4 book ai didi

c# - 遇到 null 时失败

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:58 26 4
gpt4 key购买 nike

此代码是 Shopify Sync 实用程序的一部分。从来没有失败过,直到我们在 CompareTo Shopify 字段中遇到没有值的产品,而不是我们有一个没有 CompareTo 值的产品。

private Decimal? GetComparePrice(long? productId, long? variantId, List<Product> products)
{
var product = products.Where(x => x.Id == productId).FirstOrDefault();
var variantData = product.Variants.Where(x => x.Id == variantId).FirstOrDefault();

return variantData != null ? variantData.CompareAtPrice : null;
}

如果 CompareTo 值为 null,我如何让我的函数返回 null

最佳答案

尝试使用 ?. null-conditional operators在可能为 null 的属性上。

这是您的方法的修改版本,当产品变体CompareAtPricenull:

private decimal? GetComparePrice(long? productId, long? variantId, List<Product> products)
{
var product = products.FirstOrDefault(p => p.Id == productId);
var variant = product?.Variants?.FirstOrDefault(v => v.Id == variantId);
return variant?.CompareAtPrice;
}

这是一个link to run this example via .NET Fiddle .

关于c# - 遇到 null 时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55672519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com