经典错误一个!请高手指点??? public string Money { set { Money = value; } get { return Money; } }编译是没有问题的,但是逻辑上有问题???但是不知道问题在什么地方??请高手指点!!!谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private object m_money;public string Money{ set { m_money= value; } get { return m_money; }} private string money=string.Empty;public string Money{ set { money=value; } get { return money; }} 这是一个典型的递归错误, 会导致堆栈溢出! 因为在Money内部又调用自己! 一般是先定义一个局部的变量:private string money;public streing Money{ get { return money; } set { money = value; }} 这样会产生递归调用至堆栈溢出,每次为Money赋值,属性会自动调用其set语句,这样又调用Money=value,然后又执行set,又执行Money=value.....同理,每次获取Money的值的时候,属性也是调用其get语句,这时将不停的执行return vMoney语句,正解如楼上的, 你不能在一个属性中用属性的名字做为变量来使用.而要用一个私有的内部变量来做.你那么使用就成了循环调用Money当然就错了. 用一个private的内部变量来储存值就可以了 private object m_money;public string Money{ set { m_money= value; } get { return m_money; }}正确 sanall(Sanall Cobain) ________正解! Response.WriteFile的问题 请求高手帮我看看用QQ控制我电脑来帮我看看问题,为什么我的ascx控件拖到了页面中,却还是在页面无法显示 没钱没钱,该怎么处理 如何控制日语下的IME! 外包? 请教各位大虾:如何在按钮控件中实现HyperLink控件的“在新窗口中打开页面的”功能? 小问题!!!!!!!!!! textbox能否随着文本内容的增多而扩大,不要显示滚动条,要全部显示文本 请推荐一个好的.NET空间 怎么样用“表单授权”禁用*.html文件 怎样在RowFilter中过滤时间段的语句? 简单的重定向问题
{
set
{
m_money= value;
}
get
{
return m_money;
}
}
public string Money
{
set
{
money=value;
}
get
{
return money;
}
}
因为在Money内部又调用自己!
public streing Money
{
get { return money; }
set { money = value; }
}
每次为Money赋值,属性会自动调用其set语句,这样又调用Money=value,然后又执行set,又执行Money=value.....
同理,每次获取Money的值的时候,属性也是调用其get语句,这时将不停的执行return vMoney语句,正解如楼上的,
你那么使用就成了循环调用Money当然就错了.
{
set
{
m_money= value;
}
get
{
return m_money;
}
}正确