본문 바로가기

C#

Part 2: C#의 새로운 문법 기능 예제

반응형

소개

첫번째글
Part 1: C#의 새로운 문법 기능 소개 (tistory.com)

이 글에서는 첫 번째 글에서 소개한 C#의 새로운 문법 기능들을 실제 코드 예제를 통해 자세히 설명하겠습니다.

글로벌 using 지시문 예제

// 글로벌 using 지시문
global using System;
global using System.Collections.Generic;

namespace GlobalUsingExample
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };

            foreach (var fruit in fruits)
            {
                Console.WriteLine(fruit);
            }
        }
    }
}

파일 범위 네임스페이스 예제

namespace FileScopedNamespaceExample;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("파일 범위 네임스페이스 예제입니다.");
    }
}
 
레코드 구조체 예제
public readonly record struct Rectangle(int Width, int Height);

class Program
{
    static void Main(string[] args)
    {
        var rectangle = new Rectangle(5, 7);
        Console.WriteLine($"Rectangle: Width = {rectangle.Width}, Height = {rectangle.Height}");

        var largerRectangle = rectangle with { Width = 10 };
        Console.WriteLine($"Larger Rectangle: Width = {largerRectangle.Width}, Height = {largerRectangle.Height}");
    }
}

상수 인터폴레이션 문자열 예제

const string name = "World";
const string greeting = $"Hello, {name}!";

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(greeting);
    }
}

개선된 패턴 매칭 예제

class Program
{
    static void Main(string[] args)
    {
        object obj = "Hello, World!";
        if (obj is string { Length: > 5 } str)
        {
            Console.WriteLine($"String is longer than 5 characters: {str}");
        }
    }
}

with 표현식을 통한 익명 타입 지원 예제

var person = new { Name = "Alice", Age = 30 };
var olderPerson = person with { Age = 35 };

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine($"Name: {olderPerson.Name}, Age: {olderPerson.Age}");
    }
}

결론

이번 글에서는 C#의 문법 기능들을 실제 코드 예제와 함께 설명했습니다.
C#의 문법 기능들을 이해하고 실전에서 활용할 수 있게 되기를 바랍니다. 즐프하세요~

반응형