.net 为具有null和空值的数据过滤器编写lambda表达式

idfiyjo8  于 2023-06-25  发布在  .NET
关注(0)|答案(2)|浏览(110)

我想过滤null和空值的数据。我写了下面的代码片段。请帮我弄一下。

string ContainsFieldType = ......;
List<Field> entityFields = .......;

var fieldListValue = entityFields
    .Where(x => x.FieldType.Id.Contains(ContainsFieldType))
    .ToList()
    .Select(y => y.Data.ToString())
    .ToList();
tf7tbtn2

tf7tbtn21#

如果我理解正确的话,你想在你的代码中添加一个新的条件

var fieldListValue = entityFields
    .Where(x => x.FieldType.Id.Contains(ContainsFieldType) && string.IsNullOrEmpty(x.Data))
    .ToList();

示例数据

class Field
{
    public FieldType FieldType { set; get; }
    public string Data { set; get; }
}

public class FieldType
{  public string Id { set; get; }
}

List<Field> entityFields = new List<Field>();
entityFields.Add(new Field() { Data = "ss", FieldType = new FieldType() { Id = "1" } });

entityFields.Add(new Field() { Data = "", FieldType = new FieldType() { Id = "1" } });
entityFields.Add(new Field() { Data = null, FieldType = new FieldType() { Id = "1" } });
zrfyljdw

zrfyljdw2#

很难说你在这里想达到什么目的。你需要给予更多的细节。
如果我的假设是正确的,那么你需要这样做:

var fieldListValue = entityFields
    .Where(x => !string.IsNullOrEmpty(x?.FieldType?.Id) && x.FieldType.Id.Contains(ContainsFieldType))
    .Select(y => y.Data.ToString())
    .ToList();

相关问题