[解決済み】Linqのスタイル「For Each」【重複あり
2022-04-08 17:20:48
質問
For each"操作のためのLinqスタイルのシンタックスはありますか?
例えば、あるコレクションに基づく値を、すでに存在する別のコレクションに追加します。
IEnumerable<int> someValues = new List<int>() { 1, 2, 3 };
IList<int> list = new List<int>();
someValues.ForEach(x => list.Add(x + 1));
の代わりに
foreach(int value in someValues)
{
list.Add(value + 1);
}
解決方法は?
ToList()拡張メソッドを使用するのが一番良い方法です。
someValues.ToList().ForEach(x => list.Add(x + 1));
BCLには、ForEachを直接実装する拡張メソッドはありません。
には拡張メソッドはありませんが
BCL
このようなことをするのは
は
にはまだオプションがあります。
System
を追加した場合、その名前空間は
リアクティブ・エクステンション
をプロジェクトに追加してください。
using System.Reactive.Linq;
someValues.ToObservable().Subscribe(x => list.Add(x + 1));
この結果は、上記の
ToList
しかし、値を直接デリゲートにストリーミングするので、(理論的には)より効率的です。
関連
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] LINQのGroup by
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性