C\#에서 foreach 순환 대비 for 순환 의 강점 과 약점
3340 단어 c#for 순환foreach 순환
순환 문 구 는 많은 프로그래머 들 에 게 while,do...while,for,foreach 가 있 습 니 다.그리고 foreach 문 구 는 간결 하지만 장점 은 이것 뿐만 아니 라 효율 도 가장 높다 는 것 이다.본 고 는 C\#중 foreach 순환 대비 for 순환 의 장점 과 약점 에 대해 상세 하 게 말씀 드 리 겠 습 니 다.다음은 더 이상 말씀 드 리 지 않 겠 습 니 다.상세 한 소 개 를 해 보 겠 습 니 다.
1.foreach 순환 의 장점
C\#foreach 키 워드 를 지원 합 니 다.foreach 는 집합 처리 와 배열 이 for 에 비해 다음 과 같은 몇 가지 장점 이 있 습 니 다.
1.foreach 문장 간결
2.효율 이 for 보다 높 습 니 다(C\#강 한 유형 검사 입 니 다.for 순환 은 배열 에 접근 할 때 색인 의 유효 치 를 검사 해 야 합 니 다)
3.배열 의 시작 색인 이 몇 인지 신경 쓰 지 않 아 도 됩 니 다.(많은 개발 자 들 이 다른 언어 에서 C\#로 이동 하기 때문에 일부 언어의 시작 색인 은 1 또는 0 일 수 있 습 니 다)
4.다 차원 배열(톱니 배열 포함 하지 않 음)을 처리 하 는 것 이 더욱 편리 합 니 다.코드 는 다음 과 같 습 니 다.
int[,] nVisited ={
{1,2,3},
{4,5,6},
{7,8,9}
};
// Use "for" to loop two-dimension array( for )
Console.WriteLine("User 'for' to loop two-dimension array");
for (int i = 0; i < nVisited.GetLength(0); i++)
for (int j = 0; j < nVisited.GetLength(1); j++)
Console.Write(nVisited[i, j]);
Console.WriteLine();
//Use "foreach" to loop two-dimension array( foreach )
Console.WriteLine("User 'foreach' to loop two-dimension array");
foreach (var item in nVisited)
Console.Write(item.ToString());
foreach 는 한 줄 코드 로 모든 요 소 를 순환 시 켰 고 for 순환 은 많은 줄 코드 가 필요 합 니 다.
주:foreach 처리 톱날 배열 은 foreach 순환 을 두 번 해 야 합 니 다.
int[][] nVisited = new int[3][];
nVisited[0] = new int[3] { 1, 2, 3 };
nVisited[1] = new int[3] { 4, 5, 6 };
nVisited[2] = new int[6] { 1, 2, 3, 4, 5, 6 };
//Use "foreach" to loop two-dimension array( foreach )
Console.WriteLine("User 'foreach' to loop two-dimension array");
foreach (var item in nVisited)
foreach (var val in item)
Console.WriteLine(val.ToString());
5.형식 변환 에 있어 foreach 는 표시 하지 않 고 형식 변환 을 합 니 다.
int[] val = { 1, 2, 3 };
ArrayList list = new ArrayList();
list.AddRange(val);
foreach (int item in list)// ,
{
Console.WriteLine((2*item));
}
Console.WriteLine();
for (int i = 0; i < list.Count; i++)
{
int item = (int)list[i];//for
Console.WriteLine(2 * item);
}
6.집합 요소,예 를 들 어 List
using (IEnumerator<T> enumerator = collection.GetEnumerator())
{
while (enumerator.MoveNext())
{
this.Add(enumerator.Current);
}
}
2.foreach 순환 의 약점1.위 에서 foreach 순환 시 사용 한 자원 을 방출 하기 때문에 추가 적 인 gc 비용 이 발생 할 수 있 으 므 로 사용 할 때 고려 하 시기 바 랍 니 다.
2.foreach 는 읽 기 전용 순환 이 라 고도 부 르 기 때문에 배열/집합 을 순환 할 때 배열/집합 을 수정 할 수 없습니다.
3.배열 의 모든 항목 은 다른 항목 의 유형 과 같 아야 합 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.