【发布时间】:2019-12-21 00:28:32
【问题描述】:
我有两个列表。第一个列表具有匹配的列,该列在第二个列表中可用。 我想用第二个列表中的值显示匹配的列。
List<string> _filtredData = new List<string>();
_filtredData.Add("Broker");
_filtredData.Add("Loaction");
_filtredData.Add("StandardLineItem");
_filtredData.Add("Section");
foreach (DataColumn _dtCol in FinalDiffData.Columns)
{
if (matchedItems.Contains(_dtCol.ToString()))
{
_filtredData.Add(_dtCol.ToString());
}
}
_filtredData -> 包含第二个列表中可用的匹配列。
FinalDiffData.AsEnumerable() -> 这是第二个列表。
List<string> _filtredData = new List<string>();
_filtredData.Add("Broker");
_filtredData.Add("Loaction");
_filtredData.Add("StandardLineItem");
_filtredData.Add("Section");
foreach (DataColumn _dtCol in FinalDiffData.Columns)
{
if (matchedItems.Contains(_dtCol.ToString()))
{
_filtredData.Add(_dtCol.ToString());
}
}
var shortedListMismatchElementLocal = _filtredData;
var result = FinalDiffData.AsEnumerable().Where(p =>
shortedListMismatchElementLocal.Any());
请帮我正确回答。
从您的上一条评论编辑
FinalDiffData.AsEnumerable() 列表具有类似
的列Broker, Loaction, StandardLineItem, Section, 2Q2019E, 3Q2019E, 4Q2019E, 2019E, 1Q2020E
等作为收入订单。 _filterredData 列表有
Broker, Loaction, StandardLineItem, Section, 2Q2019E, 3Q2019E, 4Q2019E,
我想从 _filtredData 列表中获得具有 FinalDiffData.AsEnumerable() 值的匹配列
【问题讨论】:
-
什么是匹配项?。在 Linq 中有
intersect的选项 dotnetperls.com/intersect -
什么是
FinalDiffData?是DataTable还是List<string>还是...? -
您需要比较两个列表。您可以在第二个列表中使用 Contains 进行比较。请参阅此基本示例dotnetfiddle.net/lBkl1Y
-
@haldo:FinalDiffData 是一个转换为 FinalDiffData.AsEnumerable() 的数据表。 FinalDiffData.AsEnumerable() 有多个列和列表_filtredData 中的同一列。
-
如果您告诉我们数据表中有哪些列,至少可以帮助我们回答您要匹配值的列。