Как получить последние значения из массивов - PullRequest
2 голосов
/ 31 мая 2011

Я проверяю одну строку кода из моего проекта

if ( (test == 0) &&
     lenght.Matches(new Version(Convert.ToInt64(version))) )

Всякий раз, когда я отлаживаюсь, я получаю currentVersion как постоянное значение из 18-значного числа, но результат, который я хотел, - это последняя существующая версия данных

Я получаю 'length', используя следующий код

length.Version = (long)data.Version.Rows[0]["Version"];

Так что я подозреваю, что он всегда принимает первое значение для массивов строк, как я могу изменить этот код, чтобы он давалпоследнее значение массивов

Ответы [ 4 ]

4 голосов
/ 31 мая 2011

Использование LINQ-выражение

currentVersion.Version = (long)m_spodata.DataVersion.Rows.Last()["Version"];  

Использование Rows.Count свойство

currentVersion.Version = 
  (long) m_spodata.DataVersion.Rows[m_spodata.DataVersion.Rows.Count - 1]["Version"]; 
2 голосов
/ 31 мая 2011

Возвращает максимальную версию из строк:

m_spodata.DataVersion.Rows.Select(p => p["Version"]).Max();

Возвращает последний элемент (по индексу) из массива:

m_spodata.DataVersion.Rows.Last()["Version"];
2 голосов
/ 31 мая 2011

Вы ищете

DataVersion.Rows[DataVersion.Count - 1]["Version"];
1 голос
/ 31 мая 2011
currentVersion.Version = 
    (long)m_spodata.DataVersion.Rows[m_spodata.DataVersion.Rows.Length-1]["Version"];
...