2

linq を使用してクエリを作成し、区切り記号として使用される 2 つの日付の間から値の範囲を取得することは可能ですか?

元。

12/12/12 から 12/12/13 までの Date 列の値を持つすべてのエンティティを取得します。

私はヒントやアプローチを探しているだけです。

4

3 に答える 3

7

Of course you can, there is no "between" syntax if that's what you are getting at but it's relatively simple to do e.g.

list.Where(x => x.Date >= StartDate && x.Date <= EndDate);

If you want better readability, you could even write an extension method for DateTime i.e.

public static class DateTimeHelpers
{
    public static bool Between(this DateTime dateTime, DateTime startDate, DateTime endDate)
    {
        return dateTime >= startDate && dateTime <= endDate;
    }
}
...
list.Where(x => x.Date.Between(StartDate, EndDate));
于 2013-11-13T11:28:35.993 に答える
1
var stuffBetweenDates = ListOfStuff.Where(c => c.Date >= 12/12/12 && c.Date <= 12/12/13);

それらの線に沿った何かだと思います。明らかに、12/12/12 と 12/12/13 を配置した場所に、認識された日付型を配置する必要があります。

于 2013-11-13T11:29:35.920 に答える
1
public IEnumerable<DateTime> test(DateTime dt, DateTime dt2)
{
    // check if dt is smaller (or the same) as dt2 and code this out or throw error

    // replace dates with actual class / code
    List<DateTime> dates = new List<DateTime>();

    return dates.Where(d => d >= dt && d <= dt2);
}
于 2013-11-13T11:31:46.837 に答える