[解決済み] LINQでコレクションの全要素に関数を適用する【重複】。
2022-05-04 11:05:52
質問
私は最近LINQを使い始めたのですが、その素晴らしさに驚いています。LINQを使えば、foreachを使わずに、コレクションのすべての要素に関数(どんな関数でも)を適用できるのではないかと思っていたんだ。Pythonのラムダ関数のようなものです。
例えば、int型のリストがある場合、LINQを使用してすべての要素に定数を追加することはできますか?
DBテーブルがある場合、LINQを使用してすべてのレコードのフィールドを設定することができます。
私はC#を使用しています
どのように解決するのですか?
一般的なアプローチ方法としては、自前の
ForEach
のジェネリックメソッドです。
IEnumerable<T>
. 以下は、私たちが
MoreLINQ
:
public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)
{
source.ThrowIfNull("source");
action.ThrowIfNull("action");
foreach (T element in source)
{
action(element);
}
}
(ここで
ThrowIfNull
は任意の参照型に対する拡張メソッドであり、これは明白なことを行う)。
これが.NET 4.0に含まれるかどうか、興味深いところです。LINQの機能的なスタイルに反していますが、多くの人がこれを便利だと感じていることは間違いありません。
それができれば、次のようなことが書けるようになる。
people.Where(person => person.Age < 21)
.ForEach(person => person.EjectFromBar());
関連
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] LINQを使用してList<T>から要素を削除する
-
[解決済み] LINQを使用してList<string>内のすべての文字列を結合する
-
[解決済み】LINQを使用してコレクション内のすべてのオブジェクトを更新する
-
[解決済み】Linqを使用してコレクションの最後のN個の要素を取得するには?
-
[解決済み】LINQ:Not Any vs All Don't
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] 関数を終了するには?
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性