相关疑难解决方法(0)

递归内部函数的C#命名约定?

对于常见的方法类型,C#有一些命名约定:

  • BeginFoo()/ EndFoo()用于异步方法
  • TryGet()/ TryParse()返回false而不是抛出异常
  • FooOrDefault()对于返回default(T)而不是抛出异常的方法
  • IsFoo 对于布尔标志

我想知道,有一个递归的内部方法吗?例如,在此示例中来自另一个Stack Overflow问题:

public int CalculateSomethingRecursively(int someNumber)
{
    return doSomethingRecursively(someNumber, 0);
}

// What to call this? 
private int doSomethingRecursively(int someNumber, int level)
{
    if (level >= MAX_LEVEL || !shouldKeepCalculating(someNumber))
        return someNumber;
    return doSomethingRecursively(someNumber, level + 1);
}
Run Code Online (Sandbox Code Playgroud)

在CI中,人们使用foo(...)+ foo_r(...)作为惯例.但是在.NET中怎么样?

.net c# recursion naming-conventions

8
推荐指数
1
解决办法
2587
查看次数

StackOverflowException加载XsltCompiledTransform

在加载XslCompiledTransform时,我有一些大的xslt崩溃iis(StackOverflowException),而旧的(已弃用的)XslTransform工作正常.大模板是否存在一些已知问题?奇怪的是,相同的XslCompiledTransform在win32应用程序中成功加载.

iis xslt xslcompiledtransform

7
推荐指数
1
解决办法
856
查看次数

自递归函数限制

抱歉,如果这是错误的站点,但让我们想象一个函数 (C#):

public int Increment(int i)
{
    int j = i;
    if (j++ < Math.Pow(10, 12)) j = Increment(j);

    return j;
}
Run Code Online (Sandbox Code Playgroud)

这个函数没什么用,只是一个例子。我可以想象,自递归“循环”的最终递归返回值将通过每个递归函数将结果传递回,将每个方法返回到前一个递归,然后最终返回到初始函数调用,返回到调用者功能。

我的问题是我们可以有多少次递归,是什么导致了这个限制?谢谢。

c# recursion

0
推荐指数
1
解决办法
4227
查看次数