C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■90489 / 2階層)  2つのリストから1つのリストを作成する方法
□投稿者/ 魔界の仮面弁士 (2111回)-(2019/03/14(Thu) 15:54:47)
No90487 (河童 さん) に返信
> ・利用者の1ヵ月間のデータを1行にまとめたもの

データ List<d_data> 内の user_id が、利用者リスト List<m_User> に無かった場合や、
利用者リスト List<m_User> には居るけれど、taion データ List<d_data> に記録の無い人が
あった場合を考慮する必要があるかどうかも気になるところ。



No90488 (魔界の仮面弁士) に追記
> "1" という文字列から day1 プロパティにアクセスしようとすると、
> リフレクション頼りになってしまいますね。
>
> この場合は UserInfo クラスに手を加えて、

リフレクション頼みの別案。
今回の UserInfo クラスは、元の No90487 の実装のままにしています。



Action<UserInfo, string, string> setter = (target, date, taion) => typeof(UserInfo).GetProperty("day" + date).SetValue(target, taion, null);

Dictionary<string, UserInfo> dic = userList.ToDictionary(
  k => k.user_id,
  v => new UserInfo { user_id = v.user_id, user_kana = v.user_kana, user_name = v.user_name });
foreach (d_data d in d_dataList)
{
  UserInfo uf;
  if(dic.TryGetValue(d.user_id, out uf)) { setter(uf, d.date, d.taion); }
}

List<UserInfo> list = new List<UserInfo>(dic.Values);

this.dgvRiyojoho.DataSource = list;
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: 2つのリストから1つのリストを作成する方法 /魔界の仮面弁士 →Re[3]: 2つのリストから1つのリストを作成する方法 /河童
 
上記関連ツリー

2つのリストから1つのリストを作成する方法 / 河童 (19/03/14(Thu) 13:18) #90487
Re[1]: 2つのリストから1つのリストを作成する方法 / 魔界の仮面弁士 (19/03/14(Thu) 15:18) #90488
  └ 2つのリストから1つのリストを作成する方法 / 魔界の仮面弁士 (19/03/14(Thu) 15:54) #90489 ←Now
    └ Re[3]: 2つのリストから1つのリストを作成する方法 / 河童 (19/03/14(Thu) 16:36) #90490
      └ Re[4]: 2つのリストから1つのリストを作成する方法 / 魔界の仮面弁士 (19/03/14(Thu) 17:18) #90491
        └ Re[5]: 2つのリストから1つのリストを作成する方法 / 河童 (19/03/18(Mon) 15:02) #90530 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信