C# foreach でConsole.WriteLine 関数化にしたい
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2022/8/24 19:41:32
> Console~n.deptを関数にするにはどの様に記述すれば宜しいでしょうか?
質問の意図が良く分かりませんが、class Syain 内に下記を実装しておけば、
『syainList.ForEach(Console.WriteLine);』と書けます。
あるいは『syainList.ForEach(Foo);』と書きたければこう。
質問の意図が良く分かりませんが、class Syain 内に下記を実装しておけば、
『syainList.ForEach(Console.WriteLine);』と書けます。
public override string ToString() => $"input data : id={id}, name={name}, age={age}, dept={dept}";
あるいは『syainList.ForEach(Foo);』と書きたければこう。
static void Foo(Syain n)
{
Console.WriteLine(
"input data : id={0}, name={1}, age={2}, dept={3}",
n.id, n.name, n.age, n.dept);
}
投稿者 ケンケン  (社会人)
投稿日時
2022/8/26 09:41:39
色々と参考に成りました。
ありがとうございます。
ありがとうございます。
var syainList = new List<Syain>();
syainList.Add(new Syain("002", "山田", 35, "営業部"));
syainList.Add(new Syain("004", "鈴木", 28, "営業部"));
syainList.Add(new Syain("005", "高橋", 46, "経理部"));
syainList.Add(new Syain("001", "鈴木", 32, "総務部"));
syainList.Add(new Syain("003", "伊藤", 25, "開発部"));
syainList.Add(new Syain("006", "佐藤", 30, "開発部"));
syainList.Add(new Syain("007", "田中", 42, "開発部"));
// ラムダ式(中身の表示)
syainList.ForEach(n => Console.WriteLine("input data : id={0}, name={1}, age={2}, dept={3}", n.id, n.name, n.age, n.dept));
Console~n.deptを関数にするにはどの様に記述すれば宜しいでしょうか?
何方か、ご存知の方ご教授お願い致します。
class Syain
{
//
public Syain(string id, string name, int age, string dept)
{
this.id = id;
this.name = name;
this.age = age;
this.dept = dept;
}
public string id { get; set; } // 社員ID
public string name { get; set; } // 名前
public int age { get; set; } // 年齢
public string dept { get; set; } // 部署
}