[C#]LINQ 到对象︰ 如何在相同的对象列表中加入不同的属性

标签: Linq C#
发布时间: 2017/2/27 4:13:31
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

考虑我有一个 Item 对象,具有以下结构

Name         Parent Item Name
Service 1   
Stock 1      Service 1
Stock 2 

[更新]:

所以如果一个项目具有一个父项目名称成为一个子项目。我想要验证的所有父项目名称都是有效的名称值。例如在股票 1 视为子项目,因为它已经服务 1 作为它的父项和服务 1 是一个有效的项目名称,因为它已存在名称中的示例数据,我有试着做以下,但这并不返回结果︰

var aa = from item in items
                 join
                     item2 in items
                     on item.Name equals item2.ParentRef.Value.ToString()
                 select new { item.Name };

解决方法 1:

为了使其更具有可读性,这里有 2 查询︰

var listOfNames = items.Select(t => t.Name);

var answers = items.Where(item => i.ParentItemName != null && 
                         !listOfItems.Contains(i.ParentItemName));

答案让你的非有效的项的列表。

赞助商