gpt4 book ai didi

c# - 使用 linq 识别日期冲突

转载 作者:行者123 更新时间:2023-11-30 18:40:34 25 4
gpt4 key购买 nike

我希望使用 linq 识别存在日期冲突的行。我有(对于这个例子)5 列

ID   ref_id   ref_Name   Borrow_Date  Return_Date
1 1343 Gate 13/09/2011 20/09/2011
2 1352 Door 20/09/2011 22/09/2011
3 1343 Gate 17/09/2011 21/09/2011

在这种情况下,我的“门”发生冲突,因为有人想借用它,而其他人也想借用它。

有没有办法使用 linq 轻松识别日期范围冲突?

最佳答案

一种方法是这样的。不过,它可能有更高性能的变体:

var collisions = myList.Where( d1 => !myList.Where( d => d != d1).All( d2 =>  d1.Return_Date <= d2.Borrow_Date|| d1.Borrow_Date >= d2.Return_Date));

这将返回至少与另一行重叠的所有行。在上面的例子中,它将返回所有三个,因为 ID 为 3 的行与 1 和 2 重叠。如果将 1 更改为具有 Return_Date 17/09/2011,它将仅返回 2 和3.

关于c# - 使用 linq 识别日期冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008377/

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