LINQ: получить доступ к дочерним спискам во время выполнения - PullRequest
0 голосов
/ 06 марта 2009

Я делаю группу и получаю дочерние списки ... во время запроса я создаю новый объект с

var result3 = from tick in listTicks
              group tick by bla bla into g
              select new 
              { 
                  Count = g.Count(), 
                  Key = g.Key, 
                  Items = g,
                  Timestamp = g.First().timestamp,
                  LastTimestamp = g[-1].First().timestamp result3 isn't still declared???
              };

я хочу иметь доступ во время выполнения в выбранных новых значениях последнего созданного объекта может быть, проверить, если последний first.Timestamp имеет конкретное значение

возможно ли иметь доступ к последним g при создании select new {} я хочу проверить фактическое значение с одного из последних g

я думал что-то вроде result3 [result.count - 1] .timestamp ??? в выбранной новой части ...

1 Ответ

1 голос
/ 06 марта 2009

Не правильно ли я понимаю, но вы этого хотите?

result3.Last().Timestamp;

После комментария: я думаю, что теперь понимаю. Вам необходимо создать временную переменную для хранения метки времени последней группы и установить ее значение в более сложном делегате:

int lastTimestamp = 0; // Put the correct type and default value

var result3 = (from tick in listTicks
              group tick by bla bla into g
              select g)
              .Select
              (g => 
              {
                  // Create your object with the last timestamp
                  var result = new
                  { 
                      Count = g.Count(), 
                      Key = g.Key, 
                      Items = g,
                      Timestamp = g.First().timestamp,
                      LastTimestamp = lastTimestamp
                  };
                  // Set last timestamp for next iteration
                  lastTimestamp = result.Timestamp;
                  // Return your object
                  return result;
              });

Не знаю точного контекста, но вы можете добавить ToList () для переопределения отложенной выборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...