草庐IT

RECURSION

全部标签

c# - 如何将 "unroll"构造成 "recursive"

不确定如何调用它,但假设您有一个看起来像这样的类:classPerson{publicstringName;publicIEnumerableFriends;}然后你有一个人,你想递归地“展开”这个结构,所以你最终得到一个没有重复的所有人的列表。你会怎么做?我已经做了一些似乎可行的东西,但我很好奇其他人会怎么做,尤其是如果Linq有一些内置的东西,你可以巧妙地使用它来解决这个小问题:)这是我的解决方案:publicstaticIEnumerableSelectRecursive(thisIEnumerablesubjects,Func>selector){//Stopifsubject

c# - 如何将 "unroll"构造成 "recursive"

不确定如何调用它,但假设您有一个看起来像这样的类:classPerson{publicstringName;publicIEnumerableFriends;}然后你有一个人,你想递归地“展开”这个结构,所以你最终得到一个没有重复的所有人的列表。你会怎么做?我已经做了一些似乎可行的东西,但我很好奇其他人会怎么做,尤其是如果Linq有一些内置的东西,你可以巧妙地使用它来解决这个小问题:)这是我的解决方案:publicstaticIEnumerableSelectRecursive(thisIEnumerablesubjects,Func>selector){//Stopifsubject

c# - 递归获取类的属性和子属性

我在做类似RecursivelyGetProperties&ChildPropertiesOfAnObject的事情,但我想递归地使用反射来获取每个属性。我从RecursivelyPrinttheproperties得到了代码.代码的问题是:它只向下一层,我想知道你如何使用反射自动获取所有属性?我刚刚编写了以下示例容器代码:publicclassContainer{publicBottleMyBottle{get;set;}publicListAddresses{get;set;}publicContainer(){Addressa=newAddress();a.AddressLine

c# - 递归获取类的属性和子属性

我在做类似RecursivelyGetProperties&ChildPropertiesOfAnObject的事情,但我想递归地使用反射来获取每个属性。我从RecursivelyPrinttheproperties得到了代码.代码的问题是:它只向下一层,我想知道你如何使用反射自动获取所有属性?我刚刚编写了以下示例容器代码:publicclassContainer{publicBottleMyBottle{get;set;}publicListAddresses{get;set;}publicContainer(){Addressa=newAddress();a.AddressLine

c# - 递归调用 - Action lambda

我在这里做错了什么?如何执行我的操作?varrecurse=newAction((item,depth)=>{if(item.Items.Count()>0)recurse(item,depth+1);//redsquigglyhere//...});当调用recurse说“预期的方法、委托(delegate)或事件”时,我得到一条红色波浪线。更新我接受了Homam的回答。我只是想为相同的内容添加/共享另一种语法......但我发现它在眼睛上更容易......Action>Recurse=null;Recurse=item=>{if(item.Items!=null)Recurse(i

c# - 递归调用 - Action lambda

我在这里做错了什么?如何执行我的操作?varrecurse=newAction((item,depth)=>{if(item.Items.Count()>0)recurse(item,depth+1);//redsquigglyhere//...});当调用recurse说“预期的方法、委托(delegate)或事件”时,我得到一条红色波浪线。更新我接受了Homam的回答。我只是想为相同的内容添加/共享另一种语法......但我发现它在眼睛上更容易......Action>Recurse=null;Recurse=item=>{if(item.Items!=null)Recurse(i

c# - C# 中的匿名方法可以调用自身吗?

我有以下代码:classmyClass{privatedelegatestringmyDelegate(Objectbj);protectedvoidmethod(){myDelegatebuild=delegate(Objectbj){varletters=string.Empty;if(someCondition)returnbuild(some_obj);//Thislineseemstochokethecompilerelsestring.Empty;};......}}是否有另一种方法可以在C#中设置匿名方法,使其可以调用自身? 最佳答案

c# - C# 中的匿名方法可以调用自身吗?

我有以下代码:classmyClass{privatedelegatestringmyDelegate(Objectbj);protectedvoidmethod(){myDelegatebuild=delegate(Objectbj){varletters=string.Empty;if(someCondition)returnbuild(some_obj);//Thislineseemstochokethecompilerelsestring.Empty;};......}}是否有另一种方法可以在C#中设置匿名方法,使其可以调用自身? 最佳答案

c# - 递归搜索目录中的文件

我有以下代码通过目录递归搜索文件,它向我返回所有xml文件的列表。一切正常,除了根目录中的xml文件未包含在列表中。我明白为什么,因为它做的第一件事是获取根目录,然后获取文件,因此缺少对根目录的GetFiles()调用。我尝试在foreach之前包括GetFiles()调用,但结果并不像我预期的那样。publicstaticArrayListDirSearch(stringsDir){try{foreach(stringdinDirectory.GetDirectories(sDir)){foreach(stringfinDirectory.GetFiles(d,"*.xml")){s

c# - 递归搜索目录中的文件

我有以下代码通过目录递归搜索文件,它向我返回所有xml文件的列表。一切正常,除了根目录中的xml文件未包含在列表中。我明白为什么,因为它做的第一件事是获取根目录,然后获取文件,因此缺少对根目录的GetFiles()调用。我尝试在foreach之前包括GetFiles()调用,但结果并不像我预期的那样。publicstaticArrayListDirSearch(stringsDir){try{foreach(stringdinDirectory.GetDirectories(sDir)){foreach(stringfinDirectory.GetFiles(d,"*.xml")){s