C#のインデックスとイテレータのサンプルコードを詳しく解説

黄舟
リリース: 2017-03-04 10:16:21
オリジナル
1448 人が閲覧しました

iterterterter iteratorは、

、つまりienumeratorinterfaceで簡単に実装できます。たとえば、student

クラスがあり、今度はstudentCollectionをカプセル化したいとします。コードは次のようになります。 Studentクラス: StudentCollection クラス:

1つのフィールド、つまり

studentListのみを持つ非常に単純なカプセル化、

の型は

リスト<学生>、実装 IenumeratorInterface コードには studentList

を使用しました。このクラスはこのインターフェースを実装しているため、そのまま使用してください。このようにして、

studentCollection foreachを走査できます: コードの説明: A studentCollection オブジェクトを作成し、初期化子を使用します各 student オブジェクト

を初期化します。 2.

foreach

を使用して、各

Student

を走査します。 3.u

、プロンプトボックス表示をポップアップ表示します

Ienumeratorインターフェースを実装する他の方法はありますか?答えは「はい」です。コードは次のとおりです。


public IEnumerator GetEnumerator()
        {
            foreach (Student s in studentList)
            {
                yield return s;////使用yield关键字实现迭代器
            }
        }
ログイン後にコピー


インデックス シンボルとインデックス シンボルのオーバーロードについて:

注意深い読者は、 でそれを発見したかもしれません。 学生コレクション クラスでは、2 つのインデックス シンボルを定義しました:

////インデックスによってアクセス

 public Student this[int index]
        {
            get
            {
                return studentList[index];
            }
        }
ログイン後にコピー

////A学生名でアクセスインデックス再読み込みメカニズムにより、カプセル化がより柔軟かつ強力になります。

上記は、C# インデックスとイテレーターのサンプル コードの詳細な説明です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート