>백엔드 개발 >C++ >C#에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?

C#에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-17 04:32:09368검색

How Can I Efficiently Break Out of Nested Loops in C#?

C# 중첩 루프의 우아한 종료 방법

C# 중첩 루프를 처리할 때 모든 루프를 일찍 종료해야 하는 경우가 있습니다. 전통적인 접근 방식은 부울 플래그나 GOTO 문에 의존하는 경우가 많으며 둘 다 코드 가독성과 성능에 영향을 미칩니다.

솔루션

더 세련된 접근 방식은 익명 메서드나 로컬 함수를 사용하는 것입니다. 무명 메서드에서 return 문은 메서드를 일찍 종료하여 모든 중첩 루프에서 벗어날 수 있습니다. 이 접근 방식은 비교적 잘 수행되며 코드 가독성이 향상됩니다.

익명 메소드 사용 예

<code class="language-csharp">// 创建一个匿名方法
Action work = delegate
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (x == 5 && y == 5)
            {
                return; // 退出匿名方法,从而退出两个循环
            }
        }
    }
};

work(); // 调用匿名方法</code>

로컬 기능 사용 예시

C# 7에는 중첩 루프를 종료하는 대신 구문적으로 더 간결한 대안을 제공하는 로컬 함수가 도입되었습니다.

<code class="language-csharp">// 创建一个局部函数
void Work()
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (x == 5 && y == 5)
            {
                return; // 退出局部函数,从而退出两个循环
            }
        }
    }
}

Work(); // 调用局部函数</code>

요약

익명 메서드나 로컬 함수를 사용하면 효율적이고 유지 관리가 쉬운 C# 중첩 루프 조기 종료 방법이 제공됩니다. 이러한 방법은 코드 가독성을 향상시키고 부울 플래그나 GOTO 문과 같은 기존 방법보다 성능이 더 뛰어난 대안을 제공합니다.

위 내용은 C#에서 중첩 루프를 효율적으로 중단하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.