我有下面的代碼片段什麼「中立文化」打破了DateTime.TryParse()?
DateTime date1;
CultureInfo neutralCulture = new CultureInfo("fr");
bool isNeutral = neutralCulture.IsNeutralCulture; // True
DateTime.TryParse("not a date", neutralCulture, DateTimeStyles.AdjustToUniversal, out date1);
但是它執行未拋出異常,the documentation狀態
NotSupportedException異常:提供商是一個中性文化,不能在分析中使用操作。
"fr"
是一個中性培養,通過上述CultureInfo
對象的屬性所證明,所以我期望這個代碼斷裂。
什麼「中性文化」打破了這種方法 - 這是在任何地方記錄?
似乎在嘗試將線程文化*設置爲中立文化時拋出異常。我沒有時間瀏覽所有的參考資源,但是您可能想自己鑽研:(1)https://github.com/Microsoft/referencesource/blob/master/mscorlib/system/datetime.cs和(2) )https://github.com/Microsoft/referencesource/blob/master/mscorlib/system/globalization/datetimeparse.cs –
你爲什麼期待異常?如果字符串dpe不表示日期TryParse shpuld只是返回false ...我不完全理解文檔中的註釋,但在我看來,它並不指向您傳遞的字符串... – ATC
我我期待着一個例外,因爲文檔指出如果這個特定的參數是一箇中立文化就會發生異常。 – Matt