いくつかのコード ブロックがあり、同じオブジェクトをブロックの外で使用する必要があります。次のような強力な型を使用できます。
Person p = null;
if(cond1)
{
p = new Person();
p.Name = "Name1";
p.Age = 25;
}
else if (cond2)
{
p = Employees.Select(c=>new Person() {Name = c.FirstName + " " +c.LastName }).First();
p.Age = 23;
}
if(p != null)
{
Console.Write(p.Name);
}
人の代わりに匿名型を介してそれを行う必要があります。プロパティ名に名前が付けられていないためタプルを使用できず、そのようなものが必要になるたびに小さなクラスを作成することはできません。これは非常に単純なケースですが、どうですかLINQ は私の例に似たブロックになりますか?