Now what I want to talk about is containers in C#. This is a very important topic, because no matter what kind of program you write, you have to deal with containers. What is a container (reverse!). A container can contain Things (again!), in object-oriented programming languages such as C# and Java, containers are called things that can hold objects. Isn’t it said that "everything is an object?" In the past, I was the only one who worked on C++. Programmer friends told me that the containers in JAVA are so easy to use, much easier to use than C++. As a latecomer to JAVA, C# has no doubt that its container function is also very powerful.
The foreach statement is The simplest way to traverse the elements of a container. We can use the System.Collections.IEnumerator class and the System.Collections.IEnumerable interface to use containers in C#. Here is an example, the function is a string splitter.
000: / / CollectionClassestokens.cs
001: using System;
002: using System.Collections;
003:
004: public class Tokens : IEnumerable
005: {
006: PRivate string[] elements;
007:
008: Tokens( string source, char[] delimiters)
009: {
010: elements = source.Split(delimiters);
011: }
012:
013: //Reference IEnumerable interface 014:
015: public IEnumerator GetEnumerator()
016: {
017: return new TokenEnumerator(this);
018: }
019:
020:
021:
022: private class TokenEnumerator : IEnumerator
023: {
024: private int position = -1;
025 : private Tokens t;
026:
027: public TokenEnumerator(Tokens t)
028: {
029: this.t = t;
030: }
031:
032: public bool MoveNext()
033: {
034: if (position < t.elements.Length - 1)
035: {
036: position++;
037: return true;
038: }
039: else
040: {
041: return false;
042 : }
043: }
044:
045: public void Reset()
046: {
047: position = -1;
048: }
049:
050: public object Current
051: {
052: get
053: {
054: return t.elements[position];
055: }
056: }
057: }
058:
059: // Test 060:
061: static void Main()
062: {
063: Tokens f = new Tokens("This is a well-done program.", new char[] {' ','-'});
064: foreach (string item in f)
065: {
066 : Console.WriteLine(item);
067: }
068: }
069: }
The output of this example is:
This
is
a
well
done
program.
The above is the SUNWEN tutorial--- -C# Advanced (10) content, please pay attention to the PHP Chinese website (www.php.cn) for more related content!