Доброй ночи. Как правильно реализовать проверку полей на null. Разбираюсь с vknet библиотекой и хочу получить список фотографии из альбома с наилучшим разрешением. При запросе там приходит ответ с доступными размерами фото. Но у каждой фотографии свой максимальный размер. Как правильно отсортировать входящие данные?
public static List<string> GetPhotoList(long ownerID, long albumID)
{
var photolist = new List<string>();
var photos = vk.Photo.Get(new PhotoGetParams
{
OwnerId = ownerID,
AlbumId = PhotoAlbumType.Id(albumID)
});
foreach (var photo in photos)
{
if (photo.Photo2560 != null)
photolist.Add(photo.Photo2560.ToString());
if (photo.Photo1280 != null)
photolist.Add(photo.Photo1280.ToString());
}
return photolist;
}
У меня сейчас такой вот "велосипед" но он работает не так как надо, валит в кучу повторяющиеся ссылки. Если у фотографии есть поле Photo2560 и Photo1280, то у меня в список обе ссылки вносятся. Мне хотелось бы получить отдельно фотографии в максимально доступном разрешении которое есть у конкретной фото.
Я так понял что ToString() не возвращает нужного результата и нужно брать значения из конкретных полей. Тогда подойдет такой вариант:
public static List<string> GetPhotoList(long ownerID, long albumID)
{
var photos = vk.Photo.Get(new PhotoGetParams
{
OwnerId = ownerID,
AlbumId = PhotoAlbumType.Id(albumID)
});
var photolist = photos.Where(x => x.Photo2560 != null || x.Photo1280 != null)
.Select(x=> x.Photo2560?.ToString() ?? x.Photo1280.ToString())
.ToList();
return photolist;
}
LINQ
var highPhotoSize = in photo from photos
where photo.Photo2560 != null || photo.Photo1280 != null
select photo.Photo2560 != null ? photo.Photo2560.ToString() : photo.Photo1280.ToString();
Результатом будет IEnumerable<string>
со всеми ссылками.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прохожу учебник по JS на известном сайте, и вроде я понял замыкания, осозналНо
ЗдравствуйтеСоздал на сайте кнопку, по клику на которую должны появляться браузерные уведомления
Хочу написать функцию проверки наличия формы на страницеФорма любая