gpt4 book ai didi

C#程序崩溃

转载 作者:行者123 更新时间:2023-11-30 20:11:28 36 4
gpt4 key购买 nike

感谢大家帮我解决了 1 digit 和 >31 的问题。

现在,最后一件事......如果文本框包含非数字字符或根本没有字符,程序将崩溃。

完整代码如下:

private void generate_Click(object sender, EventArgs e)
{
int val = 0;

if (Int32.TryParse(dd.Text, out val))
{
if (val > 31) return;
else if (dd.Text.Length <= 1)
return;
}

if (Int32.TryParse(MM.Text, out val))
{
if (val > 31) return;
else if (MM.Text.Length <= 1)
return;
}

if (Int32.TryParse(hh.Text, out val))
{
if (val > 31) return;
else if (hh.Text.Length <= 1)
return;
}

if (Int32.TryParse(M.Text, out val))
{
if (val > 31) return;
else if (M.Text.Length <= 1)
return;
}

if (Int32.TryParse(ss.Text, out val))
{
if (val > 31) return;
else if (ss.Text.Length <= 1)
return;
}

String dateString = yyyy.Text + dd.Text + MM.Text + hh.Text + M.Text + ss.Text;
DateTime timestamp = DateTime.ParseExact(dateString, "yyyyddMMhhmmss", CultureInfo.CurrentCulture);
long ticks = timestamp.Ticks;
long microseconds = ticks / 10;
convertedText.Text = microseconds.ToString("X");
}

我应该放什么?我知道它有点乱......但它有效并且它是我的第一个 C# 应用程序 :P再次感谢!

最佳答案

如果您只是在日期未解析时返回,那么您可以跳过所有验证代码并仅使用TryParseExact:

private void generate_Click(object sender, EventArgs e) 
{
String dateString = yyyy.Text + dd.Text + MM.Text + hh.Text + M.Text + ss.Text;
DateTime timestamp
if (!DateTime.TryParseExact(dateString, "yyyyddMMhhmmss", null,
DateTimeStyles.None, out timestamp ))
return;
long ticks = timestamp.Ticks;
long microseconds = ticks / 10;
convertedText.Text = microseconds.ToString("X");
}

关于C#程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752173/

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