Похоже, вы проделали долгий путь для выполнения этой задачи. Вы можете просто использовать DatePicker ( Android Date Picker Официальные документы
и установить диапазон выбора для даты, установить выбранную дату (пользователем) в TextView. событие щелчка.
Создать интерфейс.
public interface IOnItemClickListenerCountryStates {
void onAgeClick(String Date);
}
Походит
IEnumerator<T> GetNth<T>(List<T> list, int n) {
for (int i=0; i<list.Count; i+=n)
yield return list[i]
}
добился бы цели. Я не вижу потребность использовать Linq или лямбда-выражения.
Править:
Сделайте его
public static class MyListExtensions {
public static IEnumerable<T> GetNth<T>(this List<T> list, int n) {
for (int i=0; i<list.Count; i+=n)
yield return list[i];
}
}
и Вы пишете способом LINQish
from var element in MyList.GetNth(10) select element;
2-е Редактирование:
Сделать это еще большим количеством LINQish
from var i in Range(0, ((myList.Length-1)/n)+1) select list[n*i];
Я знаю, что это - "старая школа", но почему не только используют для цикла с продвижением = n?
Можно использовать, Где перегрузка, которая передает индекс наряду с элементом
var everyFourth = list.Where((x,i) => i % 4 == 0);
Для цикла
for(int i = 0; i < list.Count; i += n)
//Nth Item..
Я не уверен, возможно ли сделать с выражением LINQ, но я знаю, что можно использовать Where
дополнительный метод, чтобы сделать это. Например, получить каждый пятый объект:
List<T> list = originalList.Where((t,i) => (i % 5) == 0).ToList();
Это получит первый объект и каждую пятую часть оттуда. Если Вы хотите запуститься в пятом объекте вместо первого, Вы соответствуете 4 вместо того, чтобы соответствовать 0.