各位大哥帮我看看怎么就堆栈溢出了呢?? 顺便讲讲C#中属性的get,set是怎么走的..
- C# code
class Program { static void Main(string[] args) { MyClass m = new MyClass(null); Console.WriteLine(m.Name); Console.ReadKey(); } } class MyClass { public MyClass(string name) { this.Name = name; } public string Name { get { return this.Name; } private set { this.Name = value; } }
当嵌套的方法调用过多而导致执行堆栈溢出时,将引发 StackOverflowException 异常。
相关提示
--------------------------------------------
确保您没有无限循环或无限递归。
过多的方法调用通常意味着存在非常深的递归或无限递归。
[解决办法]
代码有问题,得这么写:
class MyClass
{
public MyClass(string name)
{
this.Name = name;
}
private string _name = "";
public string Name
{
get
{
return _name;
}
private set
{
_name = value;
}
}
}
[解决办法]
[解决办法]
看到的 第三个 问这种问题的
楼上都正解,你自己调用自己