gpt4 book ai didi

c# - Distinct concat 两个 IEnumerables 并标记它是否来自列表 B

转载 作者:太空狗 更新时间:2023-10-30 00:52:38 25 4
gpt4 key购买 nike

我敢肯定,这一刻以木为本。

var dateListA = new List<DateTime>();
var dateListB = new List<DateTime>();

for (var date = DateTime.Parse("01-Dec-2013"); date <= DateTime.Parse("08-Dec-2013"); date = date.AddDays(1))
dateListA.Add(date);

for (var date = DateTime.Parse("05-Dec-2013"); date <= DateTime.Parse("10-Dec-2013"); date = date.AddDays(1))
dateListB.Add(date);

var results = distinct_Merge_Of_dateListA_And_dateListB_But_With_New_WasInListB_Boolean_Property => new { Date, WasInListB };

foreach (var result in results)
{
System.Console.WriteLine("{0} {1}", result.Date, result.WasInListB);
}

预期输出

01-Dec-2013 No
02-Dec-2013 No
03-Dec-2013 No
04-Dec-2013 No
05-Dec-2013 Yes
06-Dec-2013 Yes
07-Dec-2013 Yes
08-Dec-2013 Yes
09-Dec-2013 Yes
10-Dec-2013 Yes

我正在尝试对列表进行两次合并,但如果结果包含在列表 B 中,我会在最终列表中指出(使用 bool 值)。感谢任何关于如何操作的提示。

最佳答案

您可以使用:

var newInA = dateListA.Except(dateListB);
var results = newInA
.Select(d => new { Date = d, WasInListB = false })
.Concat(dateListB.Select(d => new { Date = d, WasInListB = true }));

这将为您提供您列出的结果。它首先列出仅在 A 中找到的项目,然后列出 B 中的所有项目。

关于c# - Distinct concat 两个 IEnumerables 并标记它是否来自列表 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20641630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com