gpt4 book ai didi

c# - 使用 stringbuilder 将时间放入字符串(类)C#

转载 作者:行者123 更新时间:2023-11-30 19:30:05 26 4
gpt4 key购买 nike

   public string getTime()
{
StringBuilder RetString = new StringBuilder();
RetString.Append(Hours.ToString().PadLeft(2, '0') + "-" + Min.ToString().PadLeft(2, '0') + "-" + AMPM.PadLeft(2, '0'));
return RetString.ToString();
}

我正在尝试使用此方法将时间(以字符串格式)返回到表单字符串变量。我让用户设置输入时间并且时间存储在此类中,我现在所做的就是将该数据带到我正在使用的表单中。我已经验证数据正在进入类并存储在变量。

我得到的错误是:

CSharp_Null

不太确定是什么问题。我当然声明了变量

    private int Hours;
private int Min;
private string AMPM;

我已经设置好了:

public int _hours
{
get
{
return Hours;
}
set
{
if (value <= 12 && value >= 1)
{
Hours = value;
}
else
Hours = 0;
}
}

public int _min
{
get
{
return Min;
}
set
{
if (value <= 59 && value >= 1)
{
Min = value;
}
else
Min = 0;
}
}

public string ampm
{
get
{
return AMPM;
}
set
{
if (AMPM == "AM" || AMPM == "PM")
{
AMPM = value;
}
else
AMPM = "";
}
}

还有我给类(class)的电话:

string timefromclass;
timefromclass = timec.getTime();

我认为唯一可能是我调用存储时间的类是

C_Time time = new C_Time();

但在另一种形式中我也设置了另一种形式。

C_Time timec = new C_Time();

可能我正在尝试从空实例中检索时间?

编辑:

public void setTime(int hours, int min, string aMPM)
{
Hours = hours;
Min = min;
AMPM = aMPM;

那真的是我唯一给那个变量赋值的地方。

最佳答案

您是否在代码的某处初始化了 AMPM。如果不是,它将为空(引用类型变量的默认值)并且调用 PadLeft 会给你一个 NRE。

关于c# - 使用 stringbuilder 将时间放入字符串(类)C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com