C# 3.0 Foreach找到我的下属的下属等等
我需要做一个foreach来找到我所有的下属,这包括找到我下属的所有下属等等 我试图完成,但我无法通过寻找第二级下属C# 3.0 Foreach找到我的下属的下属等等,c#-3.0,foreach,C# 3.0,Foreach,我需要做一个foreach来找到我所有的下属,这包括找到我下属的所有下属等等 我试图完成,但我无法通过寻找第二级下属 谢谢 你试过使用吗?你试过使用吗?类似下面的东西吗 object RecursiveCall(Collection collection, object itemToFind) { foreach(var item in collection) { if(item == itemToFind) { retu
谢谢 你试过使用吗?你试过使用吗?类似下面的东西吗
object RecursiveCall(Collection collection, object itemToFind)
{
foreach(var item in collection)
{
if(item == itemToFind)
{
return item;
}
else
{
RecursiveCall(item, itemToFind);
}
}
}
像下面这样的
object RecursiveCall(Collection collection, object itemToFind)
{
foreach(var item in collection)
{
if(item == itemToFind)
{
return item;
}
else
{
RecursiveCall(item, itemToFind);
}
}
}
private IEnumerable递归获取(Employee durr)
{
foreach(在durr.下属中的var sub)
{
收益率分包;
foreach(在RecursiveGet(sub)中递归变量)
收益率回归;
}
}
私有IEnumerable RecursiveGet(Employee durr)
{
foreach(在durr.下属中的var sub)
{
收益率分包;
foreach(在RecursiveGet(sub)中递归变量)
收益率回归;
}
}
为此,请执行递归技术。为此,请执行递归技术。请执行以下操作:
private List<Subordinate> GetSubordinates(Subordinate you){
List<Subordinate> subs = new List<Subordinate>();
if(!you.HasSubordinates){
return subs;
}
foreach(Subordinate s in you.Subordinates){
subs.AddRange(GetSubordinates(s));
}
}
private List getsubstances(下属您){
List subs=新列表();
如果(!you.HasSubordinates){
返回潜艇;
}
foreach(你的下属,下属){
子公司AddRange(GetSub属公司);
}
}
PSUDO:
private List<Subordinate> GetSubordinates(Subordinate you){
List<Subordinate> subs = new List<Subordinate>();
if(!you.HasSubordinates){
return subs;
}
foreach(Subordinate s in you.Subordinates){
subs.AddRange(GetSubordinates(s));
}
}
private List getsubstances(下属您){
List subs=新列表();
如果(!you.HasSubordinates){
返回潜艇;
}
foreach(你的下属,下属){
子公司AddRange(GetSub属公司);
}
}
他不是在找一个下属,他在试图瓦解所有下属。他不是在找一个下属,他在试图瓦解所有下属。这么多级别?它看起来几乎像你的(没有收益率)或基本情况?我在看什么?我来列举一些。首先,“下属”是什么?它意味着一个集合,但您将其视为一个个体。第二,积累大于收益的选择。第三,不需要的空支票……请记住PSUDO标签。第一个是打字错误。。。我修正了这一点,第二个是正确的,我已经在上面提到过,第三个是空检查,如果你假设下属是非空的,那么空检查是不必要的。如果下属属性可以为空,那么它将是非常必要的。那么多级别?它看起来几乎像你的(没有收益率)或基本情况?我在看什么?我来列举一些。首先,“下属”是什么?它意味着一个集合,但您将其视为一个个体。第二,积累大于收益的选择。第三,不需要的空支票……请记住PSUDO标签。第一个是打字错误。。。我修正了这一点,第二个是正确的,我已经在上面提到过,第三个是空检查,如果你假设下属是非空的,那么空检查是不必要的。如果substances属性可以为null,那么这是非常必要的。我可能会将其更改为一个扩展而不是一个方法。另外,如果C#允许lambda/anonymous方法中的收益率,这将非常有趣。我可能会将其更改为一个扩展,而不是一个方法。此外,如果C#允许lambda的/匿名方法中的收益率,这将是一件非常有趣的事情。