C# 检查空值

C# 检查空值,c#,.net,asp.net,C#,.net,Asp.net,如果属性video.Tags==null,则引发异常。 我可以检查空值吗?添加一个where子句,该子句说明: 哪里有视频。标签!=空的 这会将您的结果限制为仅包含标记的结果 您的查询最终将如下所示: var entries = from video in Video.GetTopVideos().AsEnumerable() select new XElement("item",

如果属性video.Tags==null,则引发异常。
我可以检查空值吗?

添加一个where子句,该子句说明:

哪里有视频。标签!=空的

这会将您的结果限制为仅包含标记的结果

您的查询最终将如下所示:

 var entries = from video in Video.GetTopVideos().AsEnumerable()
                      select
                      new XElement("item",
                          new XElement("title", video.Title),
                          new XElement("category", video.Tags[video.Tags.Count-1].Name),
                          //...........

添加where条款,该条款规定:

哪里有视频。标签!=空的

这会将您的结果限制为仅包含标记的结果

您的查询最终将如下所示:

 var entries = from video in Video.GetTopVideos().AsEnumerable()
                      select
                      new XElement("item",
                          new XElement("title", video.Title),
                          new XElement("category", video.Tags[video.Tags.Count-1].Name),
                          //...........

是的,你可以。你可以把那行改写成

var entries = from video in Video.GetTopVideos().AsEnumerable()
              where video.Tags != null
              select  new XElement("item",
                      new XElement("title", video.Title),
                      new XElement("category", video.Tags[video.Tags.Count-1].Name),
                      //...........

如果
标记
为空,则在生成的XML中不会为
类别
发出任何
元素
。当然,如果愿意,您可以选择提供另一个默认元素而不是null。

是的,您可以。你可以把那行改写成

var entries = from video in Video.GetTopVideos().AsEnumerable()
              where video.Tags != null
              select  new XElement("item",
                      new XElement("title", video.Title),
                      new XElement("category", video.Tags[video.Tags.Count-1].Name),
                      //...........
如果
标记
为空,则在生成的XML中不会为
类别
发出任何
元素
。当然,如果愿意,您可以选择提供另一个默认元素而不是null。

是的,您可以:

video.Tags != null ? new XElement(...) : null
或者,如果您希望确保即使
标记
属性为
,也始终拥有某些内容:

var entries = from video in Video.GetTopVideos().AsEnumerable()
                      where video.Tags != null
                      select
                      new XElement("item",
                          new XElement("title", video.Title),
                          new XElement("category", video.Tags[video.Tags.Count-1].Name),
                          //...........
是的,你可以:

video.Tags != null ? new XElement(...) : null
或者,如果您希望确保即使
标记
属性为
,也始终拥有某些内容:

var entries = from video in Video.GetTopVideos().AsEnumerable()
                      where video.Tags != null
                      select
                      new XElement("item",
                          new XElement("title", video.Title),
                          new XElement("category", video.Tags[video.Tags.Count-1].Name),
                          //...........

或者如果需要创建元素,那么video.Tags==null?String.Empty:video.Tags[video.Tags.Count-1].name或者如果需要创建元素,那么video.Tags==null?String.Empty:video.Tags[video.Tags.Count-1]。name还需要确保
video.Tags.Count>0
还需要确保
video.Tags.Count>0