На большинство преимуществ использования попытки наконец уже указали, но я думал, что добавлю этого:
try
{
// Code here that might throw an exception...
if (arbitraryCondition)
{
return true;
}
// Code here that might throw an exception...
}
finally
{
// Code here gets executed regardless of whether "return true;" was called within the try block (i.e. regardless of the value of arbitraryCondition).
}
Это поведение делает это очень полезным в различных ситуациях, особенно когда необходимо выполнить, очистка (расположите ресурсы), хотя использование блок часто лучше в этом случае.
«Формат по умолчанию» для даты и времени:
ShortDatePattern + ' ' + LongTimePattern
по крайней мере в текущей реализации mono . Это особенно болезненно, если вы хотите отобразить что-то вроде 2001-02-03T04: 05: 06Z, то есть дату и время, объединенные, как указано в ISO 8606 , но в вашем случае это не большая проблема:
using System;
using System.Globalization;
using System.Threading;
namespace test {
public static class Program {
public static void Main() {
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
culture.DateTimeFormat.LongTimePattern = "";
Thread.CurrentThread.CurrentCulture = culture;
Console.WriteLine(DateTime.Now);
}
}
}
Это установит поведение ToString по умолчанию для даты и времени, чтобы вернуть ожидаемый формат.
Это в зависимости от настроек локализации вашего приложения. Измените это соответственно , чтобы получить правильный формат.
В противном случае используйте вспомогательный класс или метод расширения, который всегда обрабатывает ваш DateTime.
public static string ToMyDateTime(this DateTime dateTime) {
return dateTime.ToString("dd-MMMM-yy");
}
DateTime.ToString () объединяет строки настраиваемого формата, возвращаемые свойствами ShortDatePattern и LongTimePattern DateTimeFormatInfo . Вы можете указать эти шаблоны в DateTimeFormatInfo.CurrentInfo .
Я никогда не пробовал это сам.
Если вы хотите быть уверенным, что ваша культура останется прежней, просто установите ее самостоятельно, чтобы избежать проблем.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("nl-BE");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
В приведенном выше примере используется бельгийско-голландский язык для культуры потока.
CurrentCulture делает это. вся обработка даты и времени, а CurrentUICulture обрабатывает локализацию пользовательского интерфейса как ресурсы.
Вы можно написать ExtensionMethod следующим образом:
public static string ToMyString(this DateTime dateTime)
{
return dateTime.ToString("needed format");
}
Я не уверен, сработает ли это для веб-приложения, но вы можете попробовать установить свойство DateTimeFormat
для текущего языка и региональных параметров.