2つの別々のAPIからjson-dataを取得してから別々のタイプの2つのリストに入れます。これまでのところ、すべては以下のような、良いです:異なるタイプの別々の2つのリストを別のタイプの1つの新しいリストにマージする
// Instagram
var instaService = new InstagramService();
var instaObj = await instaService.GetInstagramObject("my company", searchOpt.MinMaxId);
// Flickr
var options = new PhotoSearchOptions { PerPage = 20, Page = 1, UserId = "*************" };
PhotoCollection photos = FlickrManager.GetInstance().PhotosSearch(options);
しかし、私は、日付順GUIで示したことが、(別のタイプの)別のリストにそれらを一緒に配置する必要があります。
これまでに私が達成したことは以下のとおりです。しかし、 'AddRange' 'var media'が空の場合。ここで何が問題なの?私は 'var media'に値を保持して、今はnullであることを望みます。
foreach (var item in instaObj.items)
{
var media = model.ImportedMedia.Select(o => new MediaImport
{
Id = item.id,
MediaUrl = item.images.standard_resolution.url,
CreatedTime = item.created_time
}).ToList();
model.ImportedMedia.AddRange(media);
}
foreach (var item in photos)
{
var media = model.ImportedMedia.Select(o => new MediaImport
{
Id = item.PhotoId,
MediaUrl = item.Medium640Url,
CreatedTime = item.DateUploaded.ToString(CultureInfo.InvariantCulture)
}).ToList();
model.ImportedMedia.AddRange(media);
}
はあなたがmodel.ImportedMedia.Select 'のようにそのコードを必要と確信しているあなたのロジックとの奇妙なものがある....'、あなただけの必要なように見えます'var media = new MediaImport(){Id = item.Id、..};'と 'model.importMedia.Add(media)'; – teran
forループの各繰り返しで、ImportedMediaを取得し、処理中の現在の項目のデータだけを含む 'ImportedMedia.Length'項目だけを含むリストに「変換」します。私はあなたが本当に間違って何かをやっていると思います。あなたはあなたの 'Select'から' o'変数を使用していません。 – Nyerguds
最初に "model.ImportedMedia"が空の場合(メソッドの開始時に)、 "Select"で何も選択されません。 既に "instaObj.items"を繰り返しているので、既存のコードで行うことができるのは、新しいMediaImportオブジェクトを作成し、それを "model.ImportedMedia"に追加することです。 –