• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • C# 프로그래밍의 기초: Raw 문자열 리터럴 (C# 11 이상)
    2024년 08월 17일
    • 유니얼
    • 작성자
    • 2024.08.17.:57
    728x90

    C# 11에서는 코드 내에서 문자열을 더욱 직관적이고 간결하게 표현할 수 있는 Raw 문자열 리터럴 기능이 도입되었습니다. 이 새로운 기능을 사용하면, 여러 줄에 걸친 텍스트를 포함하거나, 이스케이프 시퀀스를 사용하지 않고도 문자열을 그대로 표현할 수 있습니다. 이번 글에서는 Raw 문자열 리터럴의 사용법과 그 장점을 살펴보겠습니다.

    Raw 문자열 리터럴이란?

    Raw 문자열 리터럴은 C# 11에서 도입된 기능으로, 문자열을 시작과 끝에 삼중 따옴표(""")를 사용하여 작성합니다. 이를 통해 여러 줄에 걸친 텍스트를 쉽게 표현할 수 있으며, 이스케이프 시퀀스 없이 특수 문자를 그대로 포함할 수 있습니다. 이 기능은 JSON, XML 등과 같이 복잡한 텍스트를 작성할 때 매우 유용합니다.

    예제 코드

    아래는 Raw 문자열 리터럴을 사용하는 예제 코드입니다:

    using System;
    
    namespace Chapter3_String
    {
      /// <summary>
      /// Raw 문자열 리터럴 학습 자료 (C# 11 이상)
      /// 
      /// C# 11에서는 여러 줄의 텍스트를 포함할 수 있는 raw 문자열 리터럴이 도입되었습니다.
      /// 시작과 끝에 삼중 따옴표("""")를 사용하여 이스케이프 시퀀스 없이도 그대로 문자열을 작성할 수 있습니다.
      /// Raw 문자열 리터럴은 줄 바꿈, 탭, 백슬래시 등과 같은 특수 문자를 포함한 텍스트를 더 쉽게 작성할 수 있게 해줍니다.
      /// </summary>
      public class Class8
      {
        public void Run()
        {
          // Raw 문자열 리터럴을 사용한 예제
          string rawString = """
                Line 1
                Line 2
                Line 3
                """;
    
          // Raw 문자열 리터럴은 시작과 끝에 삼중 따옴표("""")를 사용합니다.
          // 이 리터럴은 여러 줄의 텍스트를 그대로 포함할 수 있으며, 이스케이프 시퀀스를 사용할 필요가 없습니다.
    
          Console.WriteLine("Raw 문자열 리터럴 출력:");
          Console.WriteLine(rawString);
          // 출력:
          // Line 1
          // Line 2
          // Line 3
    
          // 추가 설명:
          // Raw 문자열 리터럴은 특히 다음과 같은 상황에서 유용합니다:
          // - 여러 줄에 걸친 텍스트를 포함해야 할 때
          // - 이스케이프 시퀀스를 피하고 텍스트를 그대로 표현하고 싶을 때
          // - JSON, XML 등 복잡한 텍스트를 작성할 때
    
          // 예를 들어, JSON 문자열을 Raw 문자열 리터럴로 표현할 수 있습니다:
          string jsonString = """
                {
                    "name": "John Doe",
                    "age": 30,
                    "isStudent": false,
                    "address": {
                        "street": "123 Main St",
                        "city": "Anytown"
                    }
                }
                """;
    
          Console.WriteLine("JSON 문자열:");
          Console.WriteLine(jsonString);
          // 출력:
          // {
          //     "name": "John Doe",
          //     "age": 30,
          //     "isStudent": false,
          //     "address": {
          //         "street": "123 Main St",
          //         "city": "Anytown"
          //     }
          // }
    
          // 이처럼 Raw 문자열 리터럴은 복잡한 문자열을 보다 쉽게 작성하고 읽기 좋게 만들 수 있습니다.
        }
      }
    }

    예제 설명

    1. Raw 문자열 리터럴 사용

    Raw 문자열 리터럴은 시작과 끝에 삼중 따옴표(""")를 사용하여 문자열을 정의합니다. 이 리터럴은 여러 줄의 텍스트를 포함할 수 있으며, 이스케이프 시퀀스를 사용하지 않고도 특수 문자를 그대로 표현할 수 있습니다.

    string rawString = """
          Line 1
          Line 2
          Line 3
          """;

     출력 : 

    Line 1
    Line 2
    Line 3

     

    2. JSON 문자열 표현

    복잡한 JSON 데이터를 Raw 문자열 리터럴로 작성하면, JSON 포맷을 유지하면서 텍스트를 더 쉽게 관리할 수 있습니다.

    string jsonString = """
          {
              "name": "John Doe",
              "age": 30,
              "isStudent": false,
              "address": {
                  "street": "123 Main St",
                  "city": "Anytown"
              }
          }
          """;

    출력 : 

    {
        "name": "John Doe",
        "age": 30,
        "isStudent": false,
        "address": {
            "street": "123 Main St",
            "city": "Anytown"
        }
    }

    Raw 문자열 리터럴의 활용

    Raw 문자열 리터럴은 특히 다음과 같은 상황에서 유용합니다:

    • 여러 줄 텍스트: 코드 내에서 여러 줄로 된 문자열을 표현해야 할 때.
    • 이스케이프 시퀀스 제거: 이스케이프 시퀀스를 사용하지 않고도 문자열을 그대로 표현하고 싶을 때.
    • 복잡한 포맷: JSON, XML, HTML 등 복잡한 포맷을 가진 텍스트를 코드 내에서 관리할 때.

    결론

    C# 11에서 도입된 Raw 문자열 리터럴은 복잡한 문자열을 쉽게 작성하고 관리할 수 있게 해주는 강력한 기능입니다. 여러 줄의 텍스트, 이스케이프 시퀀스 없이 특수 문자를 포함해야 하는 경우, Raw 문자열 리터럴을 활용하면 코드의 가독성을 크게 향상시킬 수 있습니다.

     

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바