C#取得List[]配列におけるある種類の集合データの取得
1315 ワード
シーン仮定:自分の状況に合わせて修正してください.
2つの集合があると仮定し、集合タイプはそれぞれ【PhysicalResult】と【PhysicalSummary】である.
List[]に追加
タイプが「PhysicalResult」のデータセットを取り出すには
シナリオ1:
シナリオ2:
2つの集合があると仮定し、集合タイプはそれぞれ【PhysicalResult】と【PhysicalSummary】である.
IEnumerable results = Current.Where(resultfilter).OrderBy(a =>a.CompositeItem.Id).ToList();
IEnumerable summaries = Current.Where(a => a.Summary != null).OrderBy(a => a.Id).ToList();
List[]に追加
IList[] list = new IList[]{results.ToList(), summaries.ToList()};
タイプが「PhysicalResult」のデータセットを取り出すには
シナリオ1:
foreach (var item in list)
{
Type type = item.GetType();
if (type.IsGenericType)//
{
Type[] genericTypes = type.GetGenericArguments();//
string ClassName = genericTypes[0].Name;
if (ClassName == "IPhysicalResult")
{
results = item as List;
}
else if (ClassName == "IPhysicalSummary")
{
summaryLists = item as List;
}
}
}
シナリオ2:
IList results = list.CastAs>().FirstOrDefault();
IList summaryLists = list.CastAs.().FirstOrDefault();