Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menggunakan Huruf Pertama Rentetan dalam C# dengan Prestasi Optimum?

Bagaimanakah Saya Boleh Menggunakan Huruf Pertama Rentetan dalam C# dengan Prestasi Optimum?

Susan Sarandon
Lepaskan: 2025-01-16 13:44:00
asal
542 orang telah melayarinya

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

Menggunakan huruf besar rentetan C# dengan cekap

Pengenalan

Memodalan huruf pertama rentetan adalah tugas biasa dalam banyak aplikasi pengaturcaraan. Untuk mengoptimumkan prestasi, adalah penting untuk memilih kaedah yang cekap. Artikel ini meneroka beberapa cara untuk melaksanakan penggunaan huruf besar dalam C# dan memfokuskan pada menganalisis perbezaan prestasi mereka.

Contoh Kod

C# 8, .NET Core 3.0 atau .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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Versi lama (tidak disyorkan, prestasi lemah)

<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>
Salin selepas log masuk
<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>
Salin selepas log masuk

Pertimbangan Prestasi

Antara coretan kod ini, kaedah dengan peruntukan memori paling sedikit dan manipulasi rentetan paling cekap mempunyai prestasi terbaik. Penyelesaian pertama menggunakan ReadonlySpan<char> daripada .NET Core 3.0 atau .NET Standard 2.1, yang memberikan prestasi unggul berbanding kaedah lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Huruf Pertama Rentetan dalam C# dengan Prestasi Optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan