ホームページ > バックエンド開発 > C++ > 最適なパフォーマンスで C# の文字列の最初の文字を大文字にするにはどうすればよいですか?

最適なパフォーマンスで C# の文字列の最初の文字を大文字にするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-16 13:44:00
オリジナル
544 人が閲覧しました

How Can I Capitalize the First Letter of a String in C# with Optimal Performance?

C# 文字列の最初の文字を効率的に大文字にします

はじめに

文字列の最初の文字を大文字にすることは、多くのプログラミング アプリケーションで一般的なタスクです。パフォーマンスを最適化するには、効率的な方法を選択することが重要です。この記事では、C# で大文字化を実装するいくつかの方法を検討し、それらのパフォーマンスの違いの分析に焦点を当てます。

コード例

C# 8、.NET Core 3.0 または .NET Standard 2.1

<code class="language-csharp">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)),
        _ => string.Concat(input[0].ToString().ToUpper(), input.AsSpan(1))
    };</code>
ログイン後にコピー

C# 8

<code class="language-csharp">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[0].ToString().ToUpper() + input.Substring(1)
    };</code>
ログイン後にコピー

C# 7

<code class="language-csharp">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[0].ToString().ToUpper() + input.Substring(1);
    }
}</code>
ログイン後にコピー

古いバージョン (非推奨、パフォーマンスが悪い)

<code class="language-csharp">public static string FirstCharToUpper(string input)
{
    if (String.IsNullOrEmpty(input))
        throw new ArgumentException("ARGH!");
    return input.First().ToString().ToUpper() + String.Join("", input.Skip(1));
}</code>
ログイン後にコピー
<code class="language-csharp">public static string FirstCharToUpper(string input)
{
    if (String.IsNullOrEmpty(input))
        throw new ArgumentException("ARGH!");
    return input.First().ToString().ToUpper() + input.Substring(1);
}</code>
ログイン後にコピー

パフォーマンスに関する考慮事項

これらのコード スニペットの中で、メモリ割り当てが最も少なく、文字列操作が最も効率的なメソッドが最高のパフォーマンスを発揮します。最初のソリューションでは、.NET Core 3.0 または .NET Standard 2.1 の ReadonlySpan<char> を使用します。これにより、他の方法と比べて優れたパフォーマンスが得られます。

以上が最適なパフォーマンスで C# の文字列の最初の文字を大文字にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート