私は、Contain()メソッドを含むlinq文を持っています。私はこれを使用して、nameがnullではない配列からすべてを選択できますが、オブジェクトarray2の同じ名前を含むarray1のオブジェクトのみを選択します。array2のidを含むarray1からすべてを選択する方法は?
私は結果を返すことができましたが、オブジェクト値が必要な場所では、真または偽の表示ができました。
コード
var response = JsonConvert.DeserializeObject<FamilyNames>(result);
List<object> data = new List<object>();
ClassName className = new ClassName();
object [] getNames = className.GetType()
.GetProperties()
.Select(p =>
{
object value = p.Name;
return value == null ? null : value.ToString();
})
.ToArray();
foreach (var obj in response.items.Where(n => n.name != null).DistinctBy(x => x.name).Select(a => getNames.Contains(a.initialName)))
{
data.Add(obj);
}
client.Dispose();
return Json(data, JsonRequestBehavior.AllowGet);
}
結果は次のとおりです。
["True","False","True"]
私はselect文を使用しない場合、私は私のオブジェクトを取得:
[
{
"initalName": "BD",
"firstName": "Bob",
"LastName": "Dilan"
},
{
"initalName": "HT",
"firstName": "Harry", // the initialName doesn't exist in list so need to remove this object
"LastName": "Thomas"
},
{
"initalName": "LJ",
"firstName": "Lindsey",
"LastName": "Jones"
}
]
initalNameではありませんgetNames配列内に存在するため、削除する必要があります。どんな助言も、特にそのアプローチについて高く評価されるだろう。結果は次のようになります。
[
{
"initalName": "BD",
"firstName": "Bob",
"LastName": "Dilan"
},
{
"initalName": "LJ",
"firstName": "Lindsey",
"LastName": "Jones"
]
ああ親愛なる、説明のために親切にありがとうございます:) – user3515765
だけ愚かな質問は、何が求められていないです!どういたしまして! – Vari