Подтвердить что ты не робот

Существуют ли встроенные имена имен в формате С#

Мне интересно, есть ли встроенная функция .NET для снижения дат на языках, поддерживающих объявления существительных, (т.е. на русском языке название месяца февраль, но если бы я хотел сказать дату или сказать, что что-то должно быть, я бы использовал форму февраля). Я сделал свою собственную версию, которая работает для этого случая, но мне нужно будет перейти на другие случаи и на другие языки, которые будут иметь свои собственные объявления для дат.

Является ли эта функциональность встроенной или доступной во внешней библиотеке? Спасибо за любую помощь.

Я предоставил свою функцию для родительского дела в России, если мое объяснение было неясно.

public static string DeclineMonth(this DateTime time)
{
    var month = time.ToString("MMMM");
    if (month.Last() == 'ь')
        return month.Replace('ь', 'я');
    else
        return month + "a";
}       
4b9b3361

Ответ 1

Вы можете получить имена месяцев в двух случаях: Номинальный:

DateTimeFormatInfo info = CultureInfo.GetCultureInfo("ru-RU").DateTimeFormat;

// February: 2 - 1 (array is zero based) - "Февраль"
Console.Write(info.MonthNames[2 - 1]);

И родительный:

// February: 2 - 1 (array is zero based) - "февраля"
Console.Write(info.MonthGenitiveNames[2 - 1]);

Другие случаи (например, Dative, Accusative) не поддерживаются, и мы должны их реализовать вручную.