相关疑难解决方法(0)

如何在C#中计算PI?

如何使用C#计算PI的值?

我以为它会通过一个递归函数,如果是这样,它会是什么样子,是否有任何数学公式支持它?

我对性能不太挑剔,主要是从学习的角度来看如何进行.

c# pi

27
推荐指数
4
解决办法
6万
查看次数

如何更改托管可执行文件的默认堆栈大小.net

我们发现自动生成的程序集之一在 new() 上抛出 StackOverflowException。这个类有(请耐心等待)400 多个简单属性,这些属性在构造函数中初始化(大多数默认为(字符串)等)。

我们注意到它在 64 位上运行良好,但在 32 位上运行却很糟糕!

我们需要测试我们的用例创建更大的默认堆栈是否合理,以便在重新设计代码生成器时为我们提供喘息空间。

我们尤其会。如果可能的话,对涉及 app.config 的解决方案感兴趣。但我是一个现实主义者,所以一切都会好起来的。

堆栈溢出的原因。我们已经将错误范围缩小到有问题的构造函数中。我的第一印象也是无限递归类型。不过,我们使用 3 行控制台应用程序重现了该错误:

  • 创建类的空实例。
  • 在类上调用非静态方法(克隆),该类的首要任务是创建空实例并准备将属性传递给其中。

当它击中第二个构造函数时,它会爆炸。

现在通过 .net 源代码进行调试,我们看到堆栈溢出位于 Guid.NewGuid() 中,它作为第二个参数传递给构造函数。实际的代码行是对本机 CoCreateGuid() 调用的调用。

因此,虽然这可能是 CoCreateGuid() 中的错误,但我们希望从问题中消除我们的代码。我的第一个想法是大幅增加堆栈的大小,看看这个错误是否再次发生。然后,由于我认为我们可以控制所有用例,因此用对象初始化替换构造函数 - 认为这可以减轻堆栈的压力。

铌。我们可以通过从类中仅删除 int 属性来阻止错误的发生。

.net stack-overflow stack default

5
推荐指数
1
解决办法
8578
查看次数

通过递归的stackoverflow

可能重复:
运行时异常,递归太深

我在开发ac#.net程序时遇到了问题,我把它简化为一个简单的问题,我需要理解为什么这个代码会抛出一个stackoverflow异常,如果我调用这样的函数:

CheckFunc(16000);
Run Code Online (Sandbox Code Playgroud)

但是如果我这样称它就可以正常工作

CheckFunc(1000);
Run Code Online (Sandbox Code Playgroud)

这是功能:

private void CheckFunc(Int32 i)
{
    if (i == 0)
        MessageBox.Show("good");
    else
        CheckFunc(i - 1);
}
Run Code Online (Sandbox Code Playgroud)

试图使代码尽可能简单...

我知道有一个堆栈溢出但堆栈?我怎样才能解决这个问题 ?

谢谢.

c# stack-overflow recursion exception

5
推荐指数
2
解决办法
1100
查看次数

调试时C#代码-2147023895(0x800703e9)

我正在尝试调试我的列表中的一些信息,这些信息是由我制作的类的对象组成的.当我尝试检查它时,它会停止调试并在输出窗口中提供以下代码:

程序<6880>'MyApp.vshost.exe'已退出,代码为-2147023895(0x800703e9).

当我搜索这个号码时,我发现了这个:

递归太深; 堆栈溢出.

当我读到这篇文章时,在我看来,我有一个无限循环或类似的东西.

当我搜索这个时,我会访问MSDN并说它与供应商联系.那就是我......

我在stackoverflow上发现的另一个话题是:运行时异常,递归太深

但这是关于像...很长时间的循环.

我只是一个列表,其中保存了一些信息.

这是班级

class LinePiece
{
    private string type;
    private string elementNumber;
    private int beginX, beginY;
    private int endX, endY;
    private int diameter;
    private string text;

    public string Type { get { return type; } }
    public string ElementNumber { get { return ElementNumber; } }
    public int BeginX { get { return beginX; } }
    public int BeginY { get { return beginY; } }
    public int EndX { get …
Run Code Online (Sandbox Code Playgroud)

c# debugging

2
推荐指数
1
解决办法
1808
查看次数

标签 统计

c# ×3

stack-overflow ×2

.net ×1

debugging ×1

default ×1

exception ×1

pi ×1

recursion ×1

stack ×1