【如何在C#的递归函数或其他可用选项中使用db.savechange()函数提高实体框架中数据保存的性能?】教程文章相关的互联网学习教程文章

c# – 递归树映射【代码】

我最近在树实现方面做了很多工作,以及我们如何表示和理解树.我的重点是将数学表达式转换为二叉树,我设置了以线性形式表示树的问题,如字符串或数组,同时仍保留有关树及其子树的重要信息. 因此,我已经为二进制表达式树开发了一个非常简单的编码.然而,我在一个递归庄园中有效地实现它有一些问题,它似乎是概念背后的一个失败方面. 如果节点作为左子节点存在,则编码很简单如果它作为右子节点被赋予0,则给出1的映射.这种简单的编码允许我...

c# – 使用递归的循环的未知数【代码】

我之前做了一些研究并找到了一些很棒的文章,但我似乎无法根据我给出的问题定制任何解决方案.从完成的研究中,我认为解决这个问题的最佳方法是使用递归.我已经使用一些泛型类做了一个例子,但基本上我的问题是我在列表中有大约10个类.我可能只有这些课程中的一个,我可能有十个.对于给定的问题,我最终找到了“项目”(所有这些都继承自项目)的最佳组合.我认为这很容易,除非我必须在每次测试之前处理创建组合. 下面是一些仅使用两个类的示...

c# – 在DotLiquid中写一个递归循环【代码】

我在DotLiquid中有这个循环:{% for page in Page -%}{{ page.Title }}<ul>{% for subpage in page.Pages -%}<li>{{ subpage.Title }}</li><!-- subpage.Pages has more pages and so on... -->{% endfor -%}</ul> {% endfor -%}每个子页面对象都有一个Pages属性,列表中包含其他子页面(如第一个Page对象). 如何在这些子页面上编写递归迭代来创建完整的树?解决方法:将代码移动到单独的文件中,并使用include标记. This相关问题包括一...

递归函数在C#中返回错误的值【代码】

我试图使用递归来计算一些问题集,但每次我的返回值为1. 这是我的功能static int numberOfCoins(int n, int counter) {if (n >= 25){counter++;numberOfCoins(n - 25,counter);}else if (n >= 10){counter++;numberOfCoins(n - 10,counter);}else if (n >= 5){counter++;numberOfCoins(n - 5, counter);}else if (n > 0){counter++;numberOfCoins(n - 1, counter);}return counter; }这是我的电话int returnValue = numberOfCoins(3...

c# – 防止父/子层次结构中的无限递归的防御性代码【代码】

给定一个对象public class Thing { public Thing() { this.children = new List<Thing>();}public int Id {get; set;} public string Name {get; set;} public List<Thing> children{ get; set;}public string ToString(int level = 0){//Level is added purely to add a visual hierarchyvar sb = new StringBuilder();sb.Append(new String('-',level));sb.AppendLine($"id:{Id} Name:{Name}"); foreach(va...

c# – 如何递归地获取命名空间内的所有命名空间【代码】

简单来说,我希望项目中的所有命名空间都是递归的,并且前面找到的所有命名空间中都有类.var namespaces = assembly.GetTypes().Select(ns => ns.Namespace);我之前使用这部分来获取字符串格式的命名空间.但现在我也了解了底层名称空间.解决方法:听起来你可能想要从命名空间到类的Lookup:var lookup = assembly.GetTypes().ToLookup(t => t.Namespace);或者(也可以非常相似)你可以使用GroupBy:var groups = assembly.GetTypes().Gr...

c# – 检测到Protobuf-net可能的递归:序列化子项和父项【代码】

我是序列化的新手,甚至是protobuf的新手.这是我的问题,我有这些课程:[ProtoContract] class Controle {[ProtoMember(1, AsReference=true)]public HashSet<Controle> ControlesInternes { get; set; }[ProtoMember(2)]public string TypeControle { get; set; }[ProtoMember(3)]public Dictionary<string, string> Attributs { get; set; }[ProtoMember(4)]public int Ligne { get; set; }[ProtoMember(5)]public string InnerTex...

C#中带“out参数”的递归【代码】

我可以使用递归方法的out参数吗?如果可能,我如何使用以下代码执行此操作?private void PrepareDir(out List<_File> listFiles,string root,string dirPath) {DirectoryInfo dirRoot = new DirectoryInfo(dirPath);FileInfo [] Files = dirRoot.GetFiles();dirPath = dirPath.Substring(root.Length);foreach (FileInfo file in Files) {_File _file = new _File();_file.Name = dirPath + "\\" + file.Name;_file.Path = file.Fu...

c# – 递归到Tail递归【代码】

我正在编写一个遍历以找到道路中最长的路径.这段代码的神奇部分是segment.Next指的是LINQ,它具有应用于它的特定逻辑,就像不重新访问已访问过的节点一样.因此,不要指出travsel中的缺陷超出范围. 我想要做的是减少堆栈上的调用次数,因为有时路径可能是5000长.我知道我必须使这个递归调用尾递归.public static IEnumerable<Segment> FindLongestPath(Segment segment) {var rv = new List<Segment> {segment};var longestPathLength =...

c# – 递归lambda表达式通过有向图找到路径?【代码】

我需要在复杂的图形结构中找到一条或多条路径.该图使用类似于此的内容构建:class Node {public string Value { get; set;}public List<Node> Nodes { get; set;}public Node(){Nodes = new List<Node>();} }使这种复杂化的原因是节点可以引用回早期节点.例如,A -> C -> E -> A我需要做的是获取表示通过节点的路径的堆栈列表,直到我到达具有特定值的节点.由于可能存在一些非常大的路径,我们可以尝试使用最大节点.List<Stack<Node>>...

c# – protobuf-net:检测到可能的递归【代码】

我尝试序列化对象图(不是很深)时遇到异常.有意义的部分是这样的:[ERROR] FATAL UNHANDLED EXCEPTION: ProtoBuf.ProtoException: Possiblerecursion d etected (offset: 5 level(s)): red atProtoBuf.ProtoWriter.CheckRecursionStackAndPush (object) <0x00127> atProtoBuf.ProtoWriter.StartSubItem (object,ProtoBuf.ProtoWriter,bool)<0x0002f>该图表示文件/目录结构,我的模型(简化)如下所示:[ProtoContract] [ProtoInclude(...

c# – 如何进行递归LINQ查询?【代码】

我有一个递归数据结构,如链表:class Node {private Node next;private int data;// (...)public Node Next{get{return next;}}public int Data{get{return data;}} }我想创建一个LINQ查询,它从列表的头部开始,然后遍历元素,即时收集数据.怎么做?解决方法:只用简单的LINQ查询就很难遍历任意复杂的数据结构.在某些时候,你必须“减少你的损失”并自己编写迭代器块 – 可能只针对那些难以用标准LINQ表达的部分. 也就是说,对于您的链表...

c# – 这个名称()真的是一个递归调用吗?【代码】

我正在使用C#进行ConfigurationSection.我决定使用nameof(PropertyName)而不是硬编码字符串来利用一些C#6功能. 但是,我从Resharper得到一个关于递归调用的奇怪结果. 这是一个例子:我可以看出它为什么会发出这个警告,因为该属性本身就被引用了.但我不相信这实际上是递归的. 这次电话有什么我需要担心的吗?解决方法:除非这个[string]调用CoreApiRootUrl,否则它不是递归的. 你是对的,(……)的名字实际上根本不打电话. 我刚刚验证了我...

C#递归拷贝文件夹下文件以及文件夹

public bool CopyOldLabFilesToNewLab(string sourcePath, string savePath) { if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); }#region try { string[] labDirs = Directory.GetDirectories(sourcePath);//目录 string[] labFiles = Directory.GetFiles(sourcePath);//文件 ...

通过C#递归通知子控件【代码】

我有一个表单MainForm,它是一个包含许多子控件的Windows窗体表单.我想在MainForm上调用一个通知其所有子节点的函数. Windows窗体表单是否提供了执行此操作的方法?我玩更新,刷新和无效,但没有成功.解决方法: foreach (Control ctrl in this.Controls) {// call whatever you want on ctrl }如果要访问表单上的所有控件,以及表单上每个控件的所有控件(依此类推,递归),请使用如下函数:public void DoSomething(Control.ControlColle...

递归函数 - 相关标签
框架 - 相关标签