任何人都可以解释为什么以下片段返回true?
根据"d"自定义格式说明符的文档,"一位数字日的格式没有前导零." 那么为什么当我给一个前导零的一位数日时,TryParseExact不会失败?
DateTime x;
return DateTime.TryParseExact
(
"01/01/2001",
@"d\/MM\/yyyy",
null,
System.Globalization.DateTimeStyles.None,
out x
);
Run Code Online (Sandbox Code Playgroud)
UPDATE
我想也许我原本不清楚.我真正想要的是:为什么TryParseExact接受一些不完全匹配的值?从我看到的所有文档中,'d'匹配'01'和'1'就像'MM'匹配'March'和'03'一样.这里的问题不是值是等价的,它们与格式不匹配.
相关的文档片段是:
来自TryParseExact:字符串表示的格式必须与指定的格式完全匹配.
来自'd'说明符:一位数字日的格式没有前导零.
我似乎非常清楚'01'有一个前导0,因此不完全匹配'd'.