私はここで簡単なものが欠けていると思いますが、それを理解することはできません。どんな種類の助けも大歓迎です。
問題:resultsWithMedia
配列に含まれる結果には、の最初の項目と一致した結果のみが含まれますmediaTypesList
。Exists()
、、を使ってみましたが、うまくFind()
いきContains()
ませんでした。毎回同じような振る舞いをします。
例:に値mediaTypesList
が含まれている場合、はタイプがの結果のみを保持します。{"video", "link", "photo"}
resultsWithMedia
video
私が達成しようとしているのは、の値のいずれかに一致resultsWithMedia
する値を保持することです。type
mediaTypesList
コード:
public void GetPostsWithMedia(string from, string before, string mediaTypes)
{
// ... some variable declarations
List<string> mediaTypesList = new List<string>();
if (!string.IsNullOrEmpty(mediaTypes))
{
var list = mediaTypes.Split(',');
foreach (var type in list)
{
mediaTypesList.Add(type);
}
}
// ... some more code
// Note: r.Data is a Dictionary that contains strings as it's values
var resultsWithMedia = (from r in response.Results
where r.Data.ContainsKey("Type") && mediaTypesList.Exists(t => t == r.Data["Type"])
select new
{
// ... different variables
}).ToArray();
}
}