无法使用属性对对象字段的值进行字符串处理
本文关键字:处理 字符串 字段 对象 属性 | 更新日期: 2023-09-27 18:34:04
我目前正在处理一些代码。我将缩短细节,但这是我的经历:
这是类BookingObject
:
public class BookingObject
{
public BookingObject(int id, DateTime starttime)
{
this.id = id;
this.starttime = starttime;
}
public int id {get; set;}
public datetime {get; set;}
}
这是webform.aspx
:
List<BookingObject> bo = new List<BookingObject>();
foreach (BookingObject book in bo)
{
int avcde = book.starttime.Hour;
//starttime is DateTime
TextBox1.Text = avcde.toString();
}
当我在某个文本框中显示变量avcde
时,它显示null
.我尝试调试并标记赋值行,调试器显示变量avcde
0
,但book.starttime.Hour
显示一些整数值。从book.starttime.Hour
到变量avcde
的赋值不成功。
我可以知道这是怎么回事吗?
感谢您的帮助:-)
由于您的问题是基本的,我将给出一个基本的答案...在 foreach 循环中创建的变量将在 foreach 循环之后销毁。如果没有其余的代码,就很难诊断出不止于此的问题。
一个
不可为空的 int 可以返回 null 似乎很奇怪,我认为这是不可能的,因为默认值将为零......
但是,您是否尝试过在每个循环之后直接分配文本框中的值? 尝试这样的事情:
List<BookingObject> bo = new List<BookingObject>();
DateTime dt;
foreach (BookingObject book in bo)
{
dt = book.starttime;
}
//starttime is DateTime
TextBox1.Text = Convert.ToString(dt.Hour);
尝试使用此代码并查看结果...
是否确定在此段代码之后不会再次分配 TextBox.Text 属性?