この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 2582|答える: 1

[出典] .NET/C#はforeachで巧みにインデックスを選択します

[リンクをコピー]
掲載地 2024/02/01 20:26:18 | | | |
紹介

forループとforeachループは、C#開発者ツールボックスの中でも最も有用な構造の一つです。
私の意見では、コレクションを反復する方がほとんどの場合よりも便利です。
インデックスできないコレクションタイプ(例えば、インデックスを通じて現在の要素にアクセスする必要もない)を含むすべてのコレクションタイプに対応します。
しかし時には、現在の項目の索引が必要になることもあります。 以前、開発中のコレクションをトラバースするためにforeachを使っていたときにこの問題に直面しました。 通常、以下のいずれかのパターンを使用します。


ずっとイライラしてきました。 両方の値を得られないのでしょうか?
Linqとタプルを使った単純な解があります。

解決策1:

このような拡張メソッドを書いてください:

上記のコードを以下の名前空間に導入してください:

呼び出し方法:

注:コレクションの裏側WithIndex(ウィズインデックス)();

解決策2:

拡張メソッドが面倒に感じる場合は、ソリューション2を使うこともできます

完成しました。パフォーマンスに少し影響があります。必要に応じて使用様子を観察できます!!





先の:NginxはTLSv1.0およびTLSv1.1の無効なソリューションを無効化します
次に:Oracle クエリはフィールドを返す full caps issues
 地主| 掲載地 2024/02/24 17:00:44 |
.NET 9 ペアコレクションインデックス拡張法を追加索引は直接入手できます。参照してください:ハイパーリンクのログインが見えます。

公開の静的System.Collections.Generic.IEnumerable<(intインデックス、TSource項目)>インデックス<TSource>(このSystem.Collections.Generic.IEnumerable<TSource>ソース);

VS 2022プレビューはこちらからダウンロードできます:ハイパーリンクのログインが見えます。

.NET 9.0プレビューダウンロード:ハイパーリンクのログインが見えます。

以下のコードで新しい.NET 9コンソールアプリを作成します:







免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com