我有课
public class ABCImport
{
List<string> SegmentationList;
}
现在我有了ABCImport清单。
var ABCImportList=New List<ABCImport>();
我需要ABCImportList列表中来自SegmentationList的唯一字符串而没有空字符串。让我说ABCImportList拥有50条ABCImport记录,并且每个ABCImport导入都具有SegmentationList,它可以在每个ABCImport中重复。因此,我需要所有细分列表中的唯一字符串。
这是我到目前为止的内容:
ABCImportList
.Where(
x => x.SegmentationList
.Where(s => !string.IsNullOrWhiteSpace(s))
)
.Distinct()
.ToList()
最佳答案
您可以使用SelectMany()
方法,该方法允许您指定一个集合,以将所有这些集合合并为一个结果。在您的情况下,示例的SegmentationList
属性的值:
var segmentationList = ABCImportList.SelectMany(x => x.SegmentationList.Where(s => !string.IsNullOrEmpty(s)
&& !string.IsNullOrWhiteSpace(s))
.Distinct()
.ToList();