> 백엔드 개발 > C++ > 최적의 성능으로 C#에서 문자열의 첫 글자를 어떻게 대문자로 사용할 수 있습니까?

최적의 성능으로 C#에서 문자열의 첫 글자를 어떻게 대문자로 사용할 수 있습니까?

Susan Sarandon
풀어 주다: 2025-01-16 13:44:00
원래의
543명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿