c# - 如何避免此代码中的堆栈溢出异常?
问题描述
我进入StackOverflowException
了我的代码
public int Movie_ID
{
set
{
if (value == 0)
{
throw new Exception("value cannot be empty");
}
Movie_ID = value;
}
get
{
return Movie_ID;
}
}
引发了“System.StackOverflowException”类型的异常。”}
解决方案
你的 get 不断地递归调用自己。您需要创建一个支持字段并返回该值,而不是再次调用该属性。例如:
private int _movieId;
public int Movie_ID
{
set
{
if (value == 0)
{
throw new Exception("value cannot be empty");
}
_movieId = value;
}
get
{
return _movieId;
}
}
推荐阅读
- https - PWA 离线运行
- http - 是否可以在发送到 HAProxy 中的客户端之前跟踪 http 响应?
- android - 如何进一步搜索 Firebase 数据库
- javascript - 联系表格 7 自动选项卡到下一个字段
- tensorflow - 如何在 tensorflow.keras 的功能 API 中使用 tf.debugging 函数?
- flutter - 将 IconButton 与屏幕边缘紧密对齐
- python - 如何动态装饰用 @classmethod 注释的函数
- python - 如何检查嵌套列表中的所有方块并打印它们的索引(如坐标)?
- python - Django 表单输入未显示在前端/html 上
- sed - sed 用具有 & 字符的文件中的文本替换