[解決済み] foreachループの現在の反復処理のインデックスを取得するにはどうすればよいですか?
2022-03-19 19:06:40
質問
C#でforeachループの現在の反復を表す値を取得するために、私が遭遇していない(最近学んだいくつかのように、いくつかはStack Overflowで)いくつかの珍しい言語構成がありますか?
例えば、私は現在、状況に応じて以下のようなことをしています。
int i = 0;
foreach (Object o in collection)
{
// ...
i++;
}
解決方法は?
その
foreach
を実装したコレクションを反復処理するためのものです。
IEnumerable
. これを行うには
GetEnumerator
を返し、そのコレクションに
Enumerator
.
このEnumeratorは、メソッドとプロパティを持ちます。
-
MoveNext()
-
Current
Current
Enumeratorが現在乗っているオブジェクトを返します。
MoveNext
更新
Current
を次のオブジェクトに変換します。
インデックスの概念は列挙の概念とは異質であり、できない。
そのため、ほとんどのコレクションは、インデクサとforループ構造を使ってトラバースすることができます。
私は、ローカル変数でインデックスを追跡するよりも、このような状況でforループを使用することを非常に好んでいます。
関連
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Goにforeachループはあるのか?
-
[解決済み] foreach インデックスを見つけるには?
-
[解決済み] foreachループの最初と最後の繰り返しを決定する方法は?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] IEnumerableにForEach拡張メソッドがないのはなぜですか?
-
[解決済み] foreach インデックスを見つけるには?
-
[解決済み】Foreachループ、ループの最後の反復がどれかを判断する
-
[解決済み】Java、「for each」ループで現在のインデックス/キーを取得する方法 [重複]。