C# Linq从列表中选择具有空字符串的对象

C# Linq从列表中选择具有空字符串的对象,c#,linq,C#,Linq,在Linq中是否可以从该对象的IEnumerable中进行选择 public class Foo { public int Id { get; set; } public string Type { get; set; } } 类型在哪里 如果我用这个循环列表 foreach (Foo f in dataFoos) { Console.WriteLine(f.Id + f.Type); } 看起来像 1一

在Linq中是否可以从该对象的IEnumerable中进行选择

public class Foo
{
    public int Id { get; set; }
    public string Type { get; set; }
}
类型在哪里

如果我用这个循环列表

        foreach (Foo f in dataFoos)
        {
            Console.WriteLine(f.Id + f.Type);
        }
看起来像

1一

二,

我试过了

var emptyType0 = dataFoos.Where(f => f.Type.Length <= 1);
var emptyType1 = dataFoos.Where(f => f.Type == null || f.Type == "");
第二个循环不返回任何值


我正在使用dotnetcore c。感谢您的任何提示

这应该涵盖几乎所有类型的空/空/仅空白

var emptyType1 = foos.Where(f => String.IsNullOrWhiteSpace(f.Type));
但更可能的是,你想做的是排除这些,而不是包括它们


这应该涵盖几乎所有类型的空/空白/空白

var emptyType1 = foos.Where(f => String.IsNullOrWhiteSpace(f.Type));
但更可能的是,你想做的是排除这些,而不是包括它们


你的代码应该可以工作。显示如何填充foos变量。我添加了一些循环输出。linq查询仍然是空的,如果任何对象的f.Type=null,那么您的第一个查询中f=>f.Type.Length f.Type==null | | f.Type.Trim==@user3732793:您确定您的第二个条目实际为空吗?或者它是否有空格或制表符之类的空白字符?您的代码应该可以工作。显示如何填充foos变量。我添加了一些循环输出。linq查询仍然是空的,如果任何对象的f.Type=null,那么您的第一个查询中f=>f.Type.Length f.Type==null | | f.Type.Trim==@user3732793:您确定您的第二个条目实际为空吗?或者它有空格或制表符之类的空白字符吗?旁注:你为什么用String而不是String?Magnetron是一样的。其中一个只是other@Jamiec这确实有效,但比foos是空的,我希望我可以从foo生成其他列表@恐怕我不明白。您还想生成什么列表?@我想只有磁控管习惯。string是c类型,所以我使用它来定义参数/变量等。string有静态方法,比如IsNullOr。。。。。我知道你可以交替使用其中任何一种,但这只是我个人的爱好。注意:你为什么使用字符串而不是字符串?Magnetron,这是一样的。其中一个只是other@Jamiec这确实有效,但比foos是空的,我希望我可以从foo生成其他列表@恐怕我不明白。您还想生成什么列表?@我想只有磁控管习惯。string是c类型,所以我使用它来定义参数/变量等。string有静态方法,比如IsNullOr。。。。。我知道你可以交替使用,但这只是我个人的口味
var dataFoos = foos.Where(f => !String.IsNullOrWhiteSpace(f.Type));

foreach (Foo f in dataFoos)
{
    Console.WriteLine(f.Id + f.Type);
}