有沒有簡單的方法來檢查格式字符串是否有效?例如,以下是我們用來測試數字格式字符串的代碼;簡單的方法來檢查FormatString是否有效?
public static bool IsValidFormatStringNumber(string FormatString)
{
try
{
const decimal number = 0.056m;
var formattedNumber = number.ToString(FormatString);
return formattedNumber.Length > 0;
}
catch
{
return false;
}
}
我們試圖捕捉異常或確定結果字符串是否沒有長度。然而,此測試失敗,因爲「hsibbur」(任何垃圾)的格式字符串會生成一串長度爲「hsaibbur」的字符串。
我們希望對百分比和日期格式字符串進行相同的測試。
正在檢查基本類型的'toString'基本類似'x = 1; if(x!= 1)拋出錯誤;'?我沒有看到如此細緻,以至於你需要測試一個字符串格式(除非我錯過了某些東西,或者你需要更好的舍入,或者...) - 編輯:你是否試圖蠻力IFormatProviders ? –
但「hsibbur」的格式字符串_is_有效! –
另外,如何只捕獲'FormatException'?您隱藏了您可能獲得的任何_real_例外。 –