SUNWEN 튜토리얼 - C# 고급 (10)

黄舟
풀어 주다: 2016-12-19 10:26:53
원래의
1109명이 탐색했습니다.

지금 제가 이야기하고 싶은 것은 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)!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿