C#應用foreach語句遍歷聚集類型的辦法。本站提示廣大學習愛好者:(C#應用foreach語句遍歷聚集類型的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#應用foreach語句遍歷聚集類型的辦法正文
本文實例講述了C#應用foreach語句遍歷聚集類型的辦法。分享給年夜家供年夜家參考。詳細以下:
這裡演示若何完成可與 foreach 語句一路應用的聚集類
using System;
using System.Collections;
public class Tokens: IEnumerable
{
private string[] elements;
Tokens(string source, char[] delimiters)
{
elements = source.Split(delimiters);
}
// IEnumerable 接話柄現:
public TokenEnumerator GetEnumerator() // 非 IEnumerable 版本
{
return new TokenEnumerator(this);
}
IEnumerator IEnumerable.GetEnumerator() // IEnumerable 版本
{
return (IEnumerator) new TokenEnumerator(this);
}
// 外部類完成 IEnumerator 接口:
public class TokenEnumerator: IEnumerator
{
private int position = -1;
private Tokens t;
public TokenEnumerator(Tokens t)
{
this.t = t;
}
public bool MoveNext()
{
if (position < t.elements.Length - 1)
{
position++;
return true;
}
else
{
return false;
}
}
public void Reset()
{
position = -1;
}
public string Current // 非 IEnumerator 版本:類型平安
{
get
{
return t.elements[position];
}
}
object IEnumerator.Current // IEnumerator 版本:前往對象
{
get
{
return t.elements[position];
}
}
}
// 測試標志 TokenEnumerator
static void Main()
{
Tokens f = new Tokens("This is a well-done program.",
new char [] {' ','-'});
foreach (string item in f) // 要將 string 更改成 int
{
Console.WriteLine(item);
}
}
}
願望本文所述對年夜家的C#法式設計有所贊助。