首页 > 解决方案 > C# Linq 查询 List 以查看值是空还是 null

问题描述

假设我有一个 USAAddressModel

 class Address {
      public string addressline1 {get; set;}
      public string addressline2 {get; set;}
      public string city {get; set;}
      public string state {get; set;}
      public string zip {get; set;}
 }

如果我的 C# 代码中有一个对象,例如

var customer = response.Result; // List<Address>

如何使用 Linq 查询此列表以创建两个列表

第一个列表应包含将物品运送给客户所需的最低要求(addressline1、city state 和 zip)。

第二个名单应该是那些没有填写完整邮寄地址的人。(如仅提供 zip 或 addressline2、city state、zip)

我知道一个人可以在 addressline2 字段中键入 addressline1 但为此,我只是想学习如何在 C# 中使用 linq 中的查询。

使用 Lambda 会更好地解决这个问题吗?

谢谢你的帮忙。

标签: c#linq

解决方案


试试这个:

var listOne = response.Result.Where(x => !string.IsNullOrEmpty(x.addressline1) &&
 !string.IsNullOrEmpty(x.city) &&
 !string.IsNullOrEmpty(x.state) &&
 !string.IsNullOrEmpty(x.zip)).ToList();

var listTwo = response.Result.Where(x => string.IsNullOrEmpty(x.addressline1) ||
 string.IsNullOrEmpty(x.city) ||
 string.IsNullOrEmpty(x.state) ||
 string.IsNullOrEmpty(x.zip)).ToList();

推荐阅读