지금 제가 이야기하고 싶은 것은 C#의 컨테이너입니다. 어떤 종류의 프로그램을 작성하든 컨테이너가 무엇인지 다루어야 하기 때문에 이것은 매우 중요한 주제입니다. (역시!) 사물을 담을 수 있는 것, C#이나 Java와 같은 객체지향 프로그래밍 언어에서는 컨테이너를 객체를 담을 수 있는 사물이라고 합니다. 예전에는 물건을 담을 수 있는 사람이 저밖에 없었는데, C++에 종사하는 프로그래머 친구들이 JAVA의 컨테이너가 C++보다 훨씬 사용하기 쉽다고 말하더군요. C#의 컨테이너 기능도 매우 강력합니다.
foreach 문은 컨테이너의 요소를 탐색하는 가장 간단한 방법입니다. System.Collections.IEnumerator 클래스와 System.Collections.IEnumerable 인터페이스를 사용하면 컨테이너를 사용할 수 있습니다. 다음은 C#의 예입니다. 함수는 문자열 분할기입니다.
000: // CollectionClassestokens.cs
001: using System;
002: using System.Collections;
003 :
004: 공용 클래스 토큰 : IEnumerable
005: {
006: PRivate 문자열[] 요소;
007:
008: 토큰(문자열 소스, char[] 구분 기호)
009: {
010: 요소 = source.Split(구분자);
011: }
012:
013: //IEnumerable 인터페이스 참조 014:
015: public IEnumerator GetEnumerator( )
016: {
017: 새 TokenEnumerator 반환(this);
018: }
019:
020:
021:
022: 비공개 클래스 TokenEnumerator: IEnumerator
023: {
024: 비공개 int 위치 = -1;
025: 비공개 토큰 t;
026:
027: 공개 TokenEnumerator(토큰 t)
028: {
029: this.t = t;
030 : }
031:
032: public bool MoveNext()
033: {
034: if (position < t.elements .길이 - 1)
035: {
036: 위치++;
037: true 반환;
038: }
039: else
040: {
041: 반환 false;
042: }
043: }
044:
045: 공개 무효 Reset()
046: {
047: 위치 = -1;
048: }
049:
050: 공용 객체 현재
051: {
052: get
053: {
054: return t.elements[위치];
055: }
056: }
057: }
058:
059: // 테스트 060:
061: static void Main()
062: {
063: 토큰 f = new Tokens("잘 만들어진 프로그램입니다. ", new char[] {' ','-'});
064: foreach(f의 문자열 항목)
065: {
066: Console.WriteLine(item);
067 : }
068: }
069: }
이 예제의 출력은 다음과 같습니다.
This
is
a
잘
완료
프로그램입니다.
위는 SUNWEN 튜토리얼 - C# Advanced(10)의 내용입니다. 더 많은 관련 내용은 PHP 중국어 웹사이트(www)를 참고하세요. .php.cn)!