谢谢大家帮我解决1位数和> 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");
        }
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我知道它有点乱 - 但它有效,这是我的第一个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"); 
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           292 次  |  
        
|   最近记录:  |