Простой способ проверить правильность FormatString? - PullRequest
1 голос
/ 02 ноября 2011

Есть ли простой способ проверить правильность строки формата?Например, ниже приведен код, который мы используем для проверки строки числового формата:

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», имеющей длину.

Мы хотим сделать один и тот же тест для строки формата Percent и Date.

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Если вы просто хотите проверить строки стандартного формата , просто убедитесь, что ваши строки формата являются частью этого списка.

Если вы хотите проверить строки нестандартного формата (которые не являются "Другими" или "Литеральными строками"), вы, вероятно, можете создать регулярное выражение для этого.

Кроме этого, поскольку строки формата могут быть произвольными строками, я не думаю, что проверка правильности даже применяется .

1 голос
/ 02 ноября 2011

Если FormatString равен formattedNumber, это может быть другой случай для возврата false.

...