Rendre la première lettre d'une chaîne en majuscule (avec des performances maximales)

anon

J'ai un DetailsViewavec un TextBoxet je veux que les données d'entrée soient toujours sauvegardées avec la PREMIÈRE LETTRE EN MAJUSCULE.

Exemple:

"red" --> "Red"
"red house" --> " Red house"

Comment puis-je atteindre ces performances maximales ?


REMARQUE :
Sur la base des réponses et des commentaires sous les réponses, de nombreuses personnes pensent que cela demande de mettre en majuscule tous les mots de la chaîne. Par exemple, => Red House ce n'est pas le cas, mais si c'est ce que vous cherchez , cherchez une des réponses qui utilise TextInfola ToTitleCaseméthode de. (REMARQUE: ces réponses sont incorrectes pour la question réellement posée.)
Voir le document TextInfo.ToTitleCase pour les mises en garde (ne touche pas les mots en majuscules - ils sont considérés comme des acronymes; peuvent être des lettres minuscules au milieu des mots qui abaissé, par exemple "McDonald" => "Mcdonald"; non garanti pour gérer toutes les subtilités spécifiques à la culture concernant les règles de capitalisation.)


REMARQUE :
La question est ambiguë de savoir si les lettres après le premier doivent être forcées en minuscules . La réponse acceptée suppose que seule la première lettre doit être modifiée . Si vous voulez forcer toutes les lettres de la chaîne à l'exception de la première à être en minuscules, recherchez une réponse contenant ToLoweret ne contenant pas ToTitleCase .

Carlos Munoz

Mis à jour en C # 8

public static class StringExtensions
{
    public static string FirstCharToUpper(this string input) =>
        input switch
        {
            null => throw new ArgumentNullException(nameof(input)),
            "" => throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input)),
            _ => input.First().ToString().ToUpper() + input.Substring(1)
        };
}

C # 7

public static class StringExtensions
{
    public static string FirstCharToUpper(this string input)
    {
        switch (input)
        {
            case null: throw new ArgumentNullException(nameof(input));
            case "": throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input));
            default: return input.First().ToString().ToUpper() + input.Substring(1);
        }
    }
}

Des réponses vraiment anciennes

public static string FirstCharToUpper(string input)
{
    if (String.IsNullOrEmpty(input))
        throw new ArgumentException("ARGH!");
    return input.First().ToString().ToUpper() + String.Join("", input.Skip(1));
}

EDIT : Cette version est plus courte. Pour une solution plus rapide, jetez un œil à la réponse d'Equiso

public static string FirstCharToUpper(string input)
{
    if (String.IsNullOrEmpty(input))
        throw new ArgumentException("ARGH!");
    return input.First().ToString().ToUpper() + input.Substring(1);
}

EDIT 2 : Probablement la solution la plus rapide est celle de Darren (il y a même un benchmark) bien que je changerais sa string.IsNullOrEmpty(s)validation pour lever une exception car l'exigence d'origine s'attend à ce qu'une première lettre existe afin qu'elle puisse être en majuscule. Notez que ce code fonctionne pour une chaîne générique et pas particulièrement sur les valeurs valides du Textbox.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment mettre en majuscule la première et la dernière lettre d'une chaîne?

Mettre la première lettre des mots en majuscule dans une chaîne

Mettre en majuscule la première lettre d'une chaîne en utilisant Angular ou dactylographié

Mettre en majuscule la première lettre d'une chaîne uniquement

Comment mettre en majuscule la première lettre d'une chaîne dans Dart?

Fonction rapide pour convertir la première lettre d'une chaîne en majuscule?

C # Mettre en majuscule la première lettre de chaque phrase d'une chaîne

Conversion de la première lettre d'une chaîne en majuscule dans xslt

Manipulation d'une chaîne de doublure ; mettre la première lettre en majuscule et diviser par majuscule

Minuscules toutes les lettres d'une chaîne à l'exception de la première lettre et mettre en majuscule la première lettre de la chaîne? -javascript

Mettre en majuscule la première lettre des chaînes

Mettre en majuscule la première lettre du tableau avec des chaînes

Python trouve des mots avec la première lettre en majuscule suivie de caractères alphanumériques dans une chaîne

Comment mettre en majuscule la première lettre d'une chaîne multiple dans une colonne à l'aide de pandas

Mettre en majuscule la première lettre des deux mots dans une chaîne de deux mots

Comment mettre en majuscule la première lettre d'un mot dans une chaîne en utilisant Java?

Comment mettre en majuscule la première lettre de chaque mot d'une chaîne en utilisant JavaScript?

Comment puis-je mettre en majuscule la première lettre d'une chaîne en utilisant mediawiki?

Comment mettre en majuscule la première lettre d'une chaîne qui suit un saut de ligne?

Première lettre en majuscule uniquement d'une chaîne en Python

Obtenir l'index de la première lettre majuscule d'une chaîne dans R?

Comment réparer: première lettre majuscule de chaque mot de la chaîne - à l'exception des mots d'une lettre

Problème d'expression régulière avec la première lettre majuscule des mots correspondants

Comment faire en sorte qu'un bot discord mette correctement en majuscule la première lettre d'une chaîne ? expression régulière

Mettre en majuscule la première lettre de chaque mot avec des symboles dans la phrase

Comment mettre en majuscule la première lettre dans des chaînes pouvant contenir des chiffres

Comment puis-je minuscule une chaîne puis mettre en majuscule uniquement la première lettre du mot avec Javascript?

Programme qui prend une chaîne avec plusieurs mots et met en majuscule la première lettre de chaque mot (Python 3.x)

Pourquoi la mise en majuscule de la première lettre d'une chaîne est-elle si compliquée dans Rust?

TOP liste

  1. 1

    Redirection HTTP vers HTTPS dans Java à l'aide de HTTPURLConnection

  2. 2

    Uncaught TypeError: map n'est pas une fonction dans Reactjs avec Firebase

  3. 3

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  4. 4

    Comment envoyer plusieurs variables de la lame au contrôleur

  5. 5

    Microsoft.WebApplication.targets

  6. 6

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

  7. 7

    Comment définir du texte dans un QLabel et afficher les caractères '<>'?

  8. 8

    Concaténer des variables dans ansible

  9. 9

    Filtrer les données en fonction des conditions d'une trame de données

  10. 10

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  11. 11

    ESP8266 HADRWARE MINUTERIE, USA pour cocher une macro étrange

  12. 12

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  13. 13

    Comment centrer un div tout en utilisant la transition et transformer avec l'échelle

  14. 14

    Stop jQuery execution after one time execution

  15. 15

    obtenir le nombre de marqueur affiché sur la carte

  16. 16

    System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

  17. 17

    Générer une variable binaire avec une corrélation prédéfinie avec une variable déjà existante

  18. 18

    comment afficher un bouton au-dessus d'un autre élément ?

  19. 19

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  20. 20

    php ajouter et fusionner des données de deux tables

  21. 21

    Comment utiliser le stockage local et le supprimer lorsqu'il n'est pas nécessaire

chaudétiquette

Archive