如何检查字符串格式
How to check the string formatting
我正在慢慢学习用 C# 做一些简单的控制台应用程序,现在遇到了一个我无法解决的问题。我已经尝试在整个 Stack Overflow / Internet 上搜索解决方案,但要么我不知道如何正确搜索它,要么没有我正在寻找的答案。
情况:我正在创建一个简单的控制台应用程序,它向用户询问以下内容:名字、姓氏、年龄。
每个提示(问题)都通过以下代码介绍给用户:
System.Console.Write("What is your date of birth? ");
String dob = System.Console.ReadLine();
我做了一个简单的名称检查器,它会检查名称是否在 1-30 个字符之间,如果是,应用程序会将结果写入文本文档。
问题:如何查看出生日期是否按以下格式写入:DD.MM.YYYY?
TryParseExact
是你的方式:
DateTime dt = new DateTime();
bool success = DateTime.TryParseExact(dob, "dd.MM.yyyy", CultureInfo.CurrentCulture,
DateTimeStyles.AssumeLocal, out dt);
如果 dob 的格式正确,isInCorrectFormat
将是 true
,dt
将包含正确解析的 DateTime
对象。
这将 return 是否为有效日期:
String dob = System.Console.ReadLine();
DateTime dtResult;
bool IsValid = DateTime.TryParseExact(dob, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtResult);
但是,例如1 月 1 日,您无法检测到 month/day 交换。如果 day > 12
只会导致错误
我正在慢慢学习用 C# 做一些简单的控制台应用程序,现在遇到了一个我无法解决的问题。我已经尝试在整个 Stack Overflow / Internet 上搜索解决方案,但要么我不知道如何正确搜索它,要么没有我正在寻找的答案。
情况:我正在创建一个简单的控制台应用程序,它向用户询问以下内容:名字、姓氏、年龄。
每个提示(问题)都通过以下代码介绍给用户:
System.Console.Write("What is your date of birth? ");
String dob = System.Console.ReadLine();
我做了一个简单的名称检查器,它会检查名称是否在 1-30 个字符之间,如果是,应用程序会将结果写入文本文档。
问题:如何查看出生日期是否按以下格式写入:DD.MM.YYYY?
TryParseExact
是你的方式:
DateTime dt = new DateTime();
bool success = DateTime.TryParseExact(dob, "dd.MM.yyyy", CultureInfo.CurrentCulture,
DateTimeStyles.AssumeLocal, out dt);
如果 dob 的格式正确,isInCorrectFormat
将是 true
,dt
将包含正确解析的 DateTime
对象。
这将 return 是否为有效日期:
String dob = System.Console.ReadLine();
DateTime dtResult;
bool IsValid = DateTime.TryParseExact(dob, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtResult);
但是,例如1 月 1 日,您无法检测到 month/day 交换。如果 day > 12