Я предпочитаю использовать Humanizer для этого. Humanizer - это переносимая библиотека классов, которая отвечает всем вашим потребностям .NET для управления и отображения строк, перечислений, дат, времени, временных интервалов, чисел и количеств.
Короткий ответ
"AwaitingFeedback".Humanize() => Awaiting feedback
Длинный и описательный ответ
Humanizer может выполнять гораздо больше работы, другие примеры:
"PascalCaseInputStringIsTurnedIntoSentence".Humanize() => "Pascal case input string is turned into sentence"
"Underscored_input_string_is_turned_into_sentence".Humanize() => "Underscored input string is turned into sentence"
"Can_return_title_Case".Humanize(LetterCasing.Title) => "Can Return Title Case"
"CanReturnLowerCase".Humanize(LetterCasing.LowerCase) => "can return lower case"
Полный код:
using Humanizer;
using static System.Console;
namespace HumanizerConsoleApp
{
class Program
{
static void Main(string[] args)
{
WriteLine("AwaitingFeedback".Humanize());
WriteLine("PascalCaseInputStringIsTurnedIntoSentence".Humanize());
WriteLine("Underscored_input_string_is_turned_into_sentence".Humanize());
WriteLine("Can_return_title_Case".Humanize(LetterCasing.Title));
WriteLine("CanReturnLowerCase".Humanize(LetterCasing.LowerCase));
}
}
}
выход
В ожидании отзыва
Строка ввода регистра Pascal превращается в предложение
Подчеркнутая входная строка превращается в предложение. Может вернуть заглавную букву.
может вернуть нижний регистр
Если вы предпочитаете писать свой собственный код C #, вы можете достичь этого, написав часть кода C #, как уже отвечали другие.