Как получить объекты из коллекции по значению свойства DateTime объекта?

324
19 мая 2017, 12:59

Есть коллекция

ObservableCollection<MyObject> data = new ObservableCollection<MyObject>();

в неё добавляются элементы

for(int i = 0; i < 60; i++)
{
    var obj = new MyObject()
    {
        // Создаётся объект даты времени без секунд
        // Затем секунды добавляются
        time = new DateTime(2017, 05, 17, 12, 00, 00).AddSeconds(i),
        value = i
    }
    data.add(obj);
}

Объект элемента

class MyObject
{
    DateTime time { get; set; }
    Double value { get; set; }
}

Далее нужно найти все элементы из коллекции в которых время от 12.00.03 до 12.00.15 Пробую так

var newData = data.Where(x => x.time.TimeOfDay.TotalSeconds > new DateTime(2017, 05, 17, 12, 00, 03).TimeOfDay.TotalSeconds &&
                            x.time.TimeOfDay.TotalSeconds < new DateTime(2017, 05, 17, 12, 00, 15).TimeOfDay.TotalSeconds);

не получается

как получить range объектов из коллекции по значению time объекта Object?

Answer 1

Объявление полей класса без модификатора доступа равнозначно их объявлению с модификатором private.

Сделайте их публичными:

public class MyObject
{
    public DateTime time { get; set; }
    public Double value { get; set; }
}
Answer 2

Оказывается всё работает Даже не обязательно делать свойства public

Первый раз когда было сравнение без TimeOfDay.TotalSeconds не возвращалось ничего поставил точку остановки и в Results View ничего не было

потом я просто туда почему-то не смотрел, ориентировался на другие свойства

Сейчас глянул, всё работает, возвращается правильный результат

Спасибо!

READ ALSO
Синтаксический вопрос Visual Studio

Синтаксический вопрос Visual Studio

Добрый вечерЯ считываю символы с файла

246
Как встроить XAML в фрейм из другого проекта?

Как встроить XAML в фрейм из другого проекта?

Так не видит UserControl1xaml (он в другом проекте Apps_2)

211
Как использовать один экземпляр DbContext?(IUnitOfWork)

Как использовать один экземпляр DbContext?(IUnitOfWork)

В EF DbContext и DbSet, вообще говоря, реализуют из коробки соответственно UnitOfWork и RepositoryВ интернете тысячи примеров как люди следуя четко по букварям...

319
xaml верхний и нижний отступы у button

xaml верхний и нижний отступы у button

Делаю приложение для Windows Phone 81

180