我有一些代码块,需要在 block 外使用相同的对象,我可以使用强类型,例如:
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 结果 block 与我的示例类似吗?
最佳答案
这种事情怎么样
var person = new { Name = "" }; ;
if (cond1)
{
person = new { Name = "Bob" };
}
else
{
person = new { Name = "John" };
}
Console.WriteLine(person.Name);
关于c# - 使用相同的属性名称和类型多次分配匿名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969564/