Правильный способ проверки часового пояса .NetC#

Место общения программистов C#
Ответить
Anonymous
 Правильный способ проверки часового пояса .Net

Сообщение Anonymous »

У меня есть метод, который принимает идентификатор часового пояса .Net (или Windows) в виде строки:

Код: Выделить всё

public void SaveTimezoneId(string timezoneId) { ... }
Как вы, возможно, знаете, часовые пояса в .Net представляют собой такие строки:
  • Арабское стандартное время
  • Русское стандартное время
  • Центральное стандартное время Канады
и т. д.

Прежде чем сохранять их в базу данных, мне нужен способ их проверки. То, что я сейчас делаю, выглядит так:

Код: Выделить всё

    try
{
TimeZoneInfo.FindSystemTimeZoneById(timezoneId);

CurrentUser.TimezoneId = timezoneId;
context.SaveChanges();

return JsonSuccess();
}
catch(Exception)
{
return JsonError("Invalid time zone");
}
Но это полностью нарушает один из главных принципов хорошей разработки программного обеспечения: никогда не полагаться на исключения. Более того, исключения обходятся дорого.

Есть ли другой способ выполнить эту проверку и избавиться от try-catch?

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/206 ... validation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»