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

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

DDD
DDD원래의
2025-01-17 04:21:11236검색

How Can I Efficiently Escape Nested Loops in C#?

C# 중첩 루프에서 효율적으로 탈출

중첩 루프가 포함된 시나리오에서는 내부 루프와 외부 루프 사이를 빠르게 전환하는 것이 중요합니다. 다음 두 가지 방법으로 이를 효과적으로 달성할 수 있습니다.

익명 방법 사용

루프에서 부울 플래그를 관리하는 대신 익명 메서드를 사용하는 것이 좋습니다. 이는 종료 메커니즘에서 루프 반복을 분리하고 return 문을 통해 빠른 종료를 가능하게 합니다.

예:

<code class="language-csharp">// 创建一个封装嵌套循环的匿名方法
Action work = delegate
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (/* 退出条件 */) return;
        }
    }
};

work(); // 调用匿名方法执行嵌套循环</code>

로컬 함수 사용(C# 7 이상만 해당)

C# 7에는 무명 메서드보다 더 효율적이고 읽기 쉬운 대안을 제공하는 로컬 함수가 도입되었습니다. 로컬 함수는 외부 루프 내에서 선언하고 return 문을 사용하여 종료할 수 있습니다.

예:

<code class="language-csharp">// 定义一个处理嵌套循环的局部函数
void Work()
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (/* 退出条件 */) return;
        }
    }
}

Work(); // 调用局部函数执行嵌套循环</code>

이러한 기술은 제어된 방식으로 중첩 루프를 종료하는 효율적인 방법을 제공합니다. 엄청난 성능 저하가 발생하므로 예외를 사용하지 마세요.

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

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