如何比较 C# 中的日期列表?
How to compare to list of date in C#?
我有两个日期列表。我必须比较两个列表并找到丢失的日期。
我的第一个列表如下所示:
2015-07-21
2015-07-22
2015-07-23
2015-07-24
2015-07-25
2015-07-26
2015-07-27
我的第二个列表是这样的
2015-07-21
2015-07-22
2015-07-23
2015-07-25
2015-07-26
2015-07-27
我必须找到两个列表之间缺少的日期:
我试过了
var anyOfthem = firstList.Except(secondList);
但是没有用。谁能帮我解决这个问题?
string[] array1 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-24",
"2015-07-25",
"2015-07-26",
};
string[] array2 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-25",
"2015-07-26",
"2015-07-27"
};
var common = list1.Intersect(list2);
var anyOfThem = list1.Except(common).Concat(list2.Except(common));
foreach (var date in anyOfThem)
Console.WriteLine(date);
// 2015-07-24
// 2015-07-27
您必须检查一个列表是否包含另一个列表中的值:
var anyOfthem = firstList.Where(x => !secondList.Contains(x));
希望这正是您要找的:
var notamatch= firstList.Where(x => !anyOfthem.Any(y => y.yourseconddatename== x.yourfirstdatename));
嗯,你可以使用 .Except()
和 .Union()
方法:
string[] array1 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-24",
"2015-07-25",
"2015-07-26",
};
string[] array2 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-25",
"2015-07-26",
"2015-07-27"
};
var result = array1.Except(array2).Union(array2.Except(array1));
foreach (var item in result)
{
Console.WriteLine(item);
}
输出:“2015-07-24”、“2015-07-27”、
我有两个日期列表。我必须比较两个列表并找到丢失的日期。 我的第一个列表如下所示:
2015-07-21
2015-07-22
2015-07-23
2015-07-24
2015-07-25
2015-07-26
2015-07-27
我的第二个列表是这样的
2015-07-21
2015-07-22
2015-07-23
2015-07-25
2015-07-26
2015-07-27
我必须找到两个列表之间缺少的日期:
我试过了
var anyOfthem = firstList.Except(secondList);
但是没有用。谁能帮我解决这个问题?
string[] array1 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-24",
"2015-07-25",
"2015-07-26",
};
string[] array2 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-25",
"2015-07-26",
"2015-07-27"
};
var common = list1.Intersect(list2);
var anyOfThem = list1.Except(common).Concat(list2.Except(common));
foreach (var date in anyOfThem)
Console.WriteLine(date);
// 2015-07-24
// 2015-07-27
您必须检查一个列表是否包含另一个列表中的值:
var anyOfthem = firstList.Where(x => !secondList.Contains(x));
希望这正是您要找的:
var notamatch= firstList.Where(x => !anyOfthem.Any(y => y.yourseconddatename== x.yourfirstdatename));
嗯,你可以使用 .Except()
和 .Union()
方法:
string[] array1 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-24",
"2015-07-25",
"2015-07-26",
};
string[] array2 =
{
"2015-07-21",
"2015-07-22",
"2015-07-23",
"2015-07-25",
"2015-07-26",
"2015-07-27"
};
var result = array1.Except(array2).Union(array2.Except(array1));
foreach (var item in result)
{
Console.WriteLine(item);
}
输出:“2015-07-24”、“2015-07-27”、