Preferiré usar Humanizer para esto. Humanizer es una biblioteca de clases portátil que satisface todas sus necesidades de .NET para manipular y mostrar cadenas, enumeraciones, fechas, horas, intervalos de tiempo, números y cantidades.
Respuesta corta
"AwaitingFeedback".Humanize() => Awaiting feedback
largo y respuesta descriptiva
Humanizer puede hacer mucho más trabajo Otros ejemplos son:
"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"
de código completo es:
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));
}
}
}
salida
espera de retroalimentación
cadena de entrada caso Pascal es convertido en frase
cadena de entrada expresiones subrayadas se convirtió en frase puede devolver Título Caso
puede volver más baja estuche
Si prefiere escribir su propio código C#, puede lograrlo escribiendo algunas cosas del código C# como ya han respondido otros.
El estuche Camel está a la espera de retroalimentación y no de espera retroalimentación (caso Pascal). Además, lo que quieres hacer no es completamente posible. ¿Qué hay de disableGPS? ¿Hay una solución lo suficientemente general como para manejar estos casos? – kgiannakakis
@kgiannakakis alteró la pregunta en consecuencia. Siempre me olvido en qué dirección están los nombres, especialmente cuando hay Camel Camel superior e inferior. –