收录日期:2019/02/17 00:02:55 时间:2016/05/29 18:11:46 标签:C#
执行时会产生堆栈溢出异常,但看代码后不知道哪里有问题啊,盼各位能帮忙看看
using System;

namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class WorkFlowField
{
public WorkFlowField()
{
}

public string fieldName 
{
get
{
return fieldName;
}
set
{
fieldName = value;
}
}

public string fieldNote
{
get
{
return fieldNote;
}
set
{
fieldNote = value;
}
}

}


class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
try
{
WorkFlowField  wf = new WorkFlowField();
wf.fieldName = "a";
Console.WriteLine(wf.fieldName);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
Console.Read();
}
}
}
呵呵 
再看看属性的基本知识吧
看了啊,看不出问题
public string fieldName 
{
   get
  {
      return fieldName;
  }
  set
  {
     fieldName = value;
  }
}
属性的读和写(get和set)代码里面不应该对属性自己操作,应该操作其他变量(一般是个private的变量),你现在的代码就等于是和无限的死递归,所以线程内存消耗完了,就会堆栈溢出异常
public string _fieldName;
public string fieldName 
{
get
{
return _fieldName;
}
set
{
_fieldName = value;
}
}
private string _fieldName;
public string fieldName 
{
get
{
return _fieldName;
}
set
{
_fieldName = value;
}
}
非常感谢楼上两位,明白了

视频桌面如何实现? 就像 WinDVD 那样直接在 Windows 桌面上播放. ORA-12154: TNS:could not resolve service name modem 传输文件,300分给!!!顶顶也有份阿!! 一个很simple的问题(在线等,好了马上结分) 请问大家camlock是什么意思,字典里没有! 学ASP.NET碰到的问题,急,急,急(给100分) 交叉报表中不需要显示行总计和列总计,在报表向导中该怎么办? C++之人生(转载) 请前辈讲讲BCB6怎么使用TAdoquery控件来实现根据用户录入来更新表 这个问题可能同本板块关系不大。是关于holtmail 怎样用代码实现最小化操作?急!! 装完redhat9后,怎么找不到mc(midnight commander)? 连接数据库后无法显示数据? 在线等待回答:一个路由器和交换机连接的问题 用vb调用一个exe应用程序 装完redhat9后,怎么找不到mc(midnight commander)? 如何给sql中datetime类型付值?? 安装中文字库软件在WIN2000下无法使用如何解决? 请推荐一款千元以下的MP3. 关于窗体设计 大连的兄弟姐妹帮忙拼一下高程准考证号 急问ssl的问题!!!!!!!!!< PB怎样打包呀 请教高手 C# 里如何才可以使用 decodeURI 一样的功能呀!?? .net开发环境的配置问题 用winsock控件和tcp/ip协议进行数据传递中,双方的机子有防火墙怎么处理?谢谢 SQLXML使用了schema 和xsl 之后如何更新数据阿? 高手快来 关于DataColumn的AllowDBNull问题 请教Java远程调试问题 一个关于DATAWINDOW的问题,盼大家赐教!