【发布时间】:2020-03-18 05:04:53
【问题描述】:
我有一个 Parent 类的集合。父类有一个 ID 属性和一些其他类属性。所以,我想根据Parent ID 获取那些子属性值。我能够获取集合中的一个项目,但我需要该项目的单个值。以下是我的代码:
public class Parent
{
public int Id { get; set; }
public Child MyChild { get; set; }
}
public class Child
{
public string abc { get; set; }
public string xyz { get; set; }
}
class Program
{
static void Main(string[] args)
{
var d = new List<Parent>();
d.Add(new Parent
{
Id = 1,
MyChild = new Child()
{
xyz = "XYZ one",
abc = "ABC one"
}
});
d.Add(new Parent
{
Id = 2,
MyChild = new Child()
{
xyz = "XYZ two",
abc = "ABC two"
}
});
for (int i = 1; i < 2; i++)
{
var xyzValueOfParentIdOneValue = d.SingleOrDefault(x => x.Id = 1) // Here, I want to get XYZ property value of Parent ID 1.
}
}
}
【问题讨论】:
-
你想要什么确切输出?
-
我想要 xyz 属性的“XYZ one”值
-
我还需要检查这个集合是否有特定的父ID。如果没有,我将返回一个默认值(类似于“0”)...这就是为什么我尝试使用 SingleOrDefault()
标签: c# linq collections