繁体   English   中英

检查数据值是否为 null c#

[英]chek if value of data is null c#

我正在尝试获取记录并将数据存储到变量中

Image Image = _context.Images.FirstOrDefault(u => u.imgID== Images.imgID);
var ImageName = Image.Name;

我收到这个错误。 可能是 null 记录在案。

System.NullReferenceException: 'Object reference not set to an instance of an object.'
    
    <Image>5__11 was null.

我正在尝试做 null 检查,但可能我做错了什么

if (Image == null || Image.ImageName == null) Image.ImageName = "";

但是我遇到了同样的错误。 我怎样才能解决这个问题?

大卫,

当您使用FirstOrDefault时,这意味着如果它在您的_context.Images集合中找不到任何符合您的条件的项目,它将返回 null。 因此,因此在您的第一行中,想象它会导致以下结果:

Image Image = null;

这意味着第二行将返回NullReferenceException ,因为您实际上是在代码中执行此操作:

var ImageName = null.Name; // YOU CAN'T ACCESS the Name property because the Image was null!

这有意义吗? 为避免 NullReferenceException,您应始终在尝试访问其属性之前检查 null。 像这样:

Image Image = _context.Images.FirstOrDefault(u => u.imgID== Images.imgID);

if (Image != null)
{
    var ImageName = Image.Name;
}

你可以做简单的 null 检查如下:

Image Image = _context.Images.FirstOrDefault(u => u.imgID== Images.imgID);

// If Image is not null, then use Image.Name, else when it is null, then assing empty string.
var ImageName = Image != null ? Image.Name : String.Empty;

还取决于您所在的 function,但您可以使用称为 Null 防护装置的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM