산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# foreach 루프: 배열과 컬렉션 순회를 간편하게

C# foreach 루프

C#에서 foreach 루프가 배열과 컬렉션 순회를 어떻게 단순화하여 가독성과 성능을 높이는지 알아봅니다.

C#에서 foreach 루프는 배열, 리스트, 기타 컬렉션 작업 시 전통적인 for 루프보다 더 깔끔하고 표현력 있는 대안을 제공합니다. 인덱스 계산을 자동 처리해 코드 읽기 쉽고 오프바원(off-by-one) 오류 위험 줄여줍니다.

시작 전 기초 주제 복습:


foreach 루프 문법

foreach (element in iterableItem) {
    // foreach 루프 본문
}

iterableItem은 배열, 리스트, 또는 IEnumerable 구현 타입이 될 수 있습니다.


foreach 루프 동작 원리

C# foreach 루프: 배열과 컬렉션 순회를 간편하게

in 키워드는 매 반복마다 iterableItem에서 각 항목 선택하여 element 변수에 할당. 루프는 요소당 한 번 실행되므로 반복 횟수 = 컬렉션 항목 수.


예제 1: for 루프로 배열 출력

using System;
namespace Loop {
    class ForLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            for (int i = 0; i < myArray.Length; i++) {
                Console.WriteLine(myArray[i]);
            }
        }
    }
}

예제 2: foreach 루프로 배열 출력

using System;
namespace Loop {
    class ForEachLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            foreach (char ch in myArray) {
                Console.WriteLine(ch);
            }
        }
    }
}

두 프로그램 모두 출력:

H
e
l
l
o

foreach 버전이 더 짧고, 인덱스 계산 불필요, 오프바원 오류 위험 감소.


예제 3: 성별 배열에서 남/여 카운트

배열에서 'm'과 'f' 출현 횟수 세기.

using System;
namespace Loop {
    class GenderCount {
        public static void Main(string[] args) {
            char[] gender = {'m','f','m','m','m','f','f','m','m','f'};
            int male = 0, female = 0;
            foreach (char g in gender) {
                if (g == 'm') male++;
                else if (g == 'f') female++;
            }
            Console.WriteLine("Number of male = {0}", male);
            Console.WriteLine("Number of female = {0}", female);
        }
    }
}

출력:

Number of male = 6
Number of female = 4

예제 4: foreach로 리스트 합계 구하기

List<int> 사용으로 foreach가 제네릭 컬렉션과도 원활히 작동함을 시연.

using System;
using System.Collections.Generic;
namespace Loop {
    class SumList {
        public static void Main(string[] args) {
            var numbers = new List<int>() { 5, -8, 3, 14, 9, 17, 0, 4 };
            int sum = 0;
            foreach (int number in numbers) {
                sum += number;
            }
            Console.WriteLine("Sum = {0}", sum);
            Console.ReadLine();
        }
    }
}

결과:

Sum = 44

배열과 컬렉션 모두에서 foreach는 더 깔끔하고 유지보수하기 쉬운 코드 제공. 인덱스 직접 조작 필요 없을 때 선호.

C 언어

  1. C# while, do-while 루프 마스터하기: 문법, 예제, 모범 사례
  2. C# for 루프 마스터하기: 문법, 실행 흐름, 실전 예제
  3. C++ for 루프 마스터하기: 단계별 완벽 가이드
  4. C++ while/do-while 루프: 코드 반복의 마스터키
  5. C for 루프 마스터: 문법, 작동 원리, 실전 예제
  6. C while/do-while 루프 마스터: 실전 예제로 이해하기
  7. 파이썬 for 루프 마스터하기: 문법, 예제, 고급 패턴
  8. 파이썬 while 루프 마스터하기: 문법, 예제, 모범 사례
  9. Java 향상된 for 루프(for-each) 완벽 가이드: 문법, 예제, 비교
  10. C++ do-while 루프: 문법, 실전 예제, 중첩 루프