C#のLINQ Selectメソッドとは?配列要素を変換する方法を実例で解説
C#のLINQにおけるSelectメソッドを使うと、配列やコレクション内の各要素に対して任意の処理を適用し、新しいシーケンスとして取得することができます。本記事では、文字列配列を例に、Selectメソッドとラムダ式を使った要素の変換方法を解説します。
変換対象となる文字列配列
まず、次のような文字列配列を用意します。
string[] stationery = { "diary", "board", "pencil", "whiteboard" };
Selectメソッドとラムダ式による要素の変換
Selectメソッドには、各要素に対して実行したい処理をラムダ式として指定します。さらに、インデックス(要素の位置)を受け取るオーバーロードを使用すると、位置情報に基づいた変換も可能です。
以下の例では、(item, index) という2つの引数を持つラムダ式を使い、各文字列の先頭から index + 4 文字分を切り出して新しい匿名型のオブジェクトを作成しています。
サンプルコード
using System;
using System.Linq;
using System.Collections.Generic;
public class Demo {
public static void Main() {
string[] stationery = { "diary", "board", "pencil", "whiteboard" };
var res = stationery.AsQueryable().Select((item, index) => new { result = item.Substring(0, index + 4) });
foreach (var str in res) {
Console.WriteLine("{0}", str);
}
}
}
実行結果
プログラムを実行すると、インデックスごとに切り出す文字数が変わるため、以下のような出力になります。
{ result = diar }
{ result = board }
{ result = pencil }
{ result = whitebo }
ポイントまとめ
- Selectメソッドは、元の配列を変更せずに、各要素を変換した新しいシーケンスを返します。
- ラムダ式で変換ロジックを簡潔に記述でき、可読性の高いコードになります。
(item, index)のように第2引数を指定すると、要素のインデックスも利用した変換が可能です。AsQueryable()を使うことで、IQueryableとしてSelectを呼び出していますが、通常の配列でもstationery.Select(...)と直接呼び出すことができます。
このように、Selectメソッドを活用すれば、配列やリストの要素を柔軟に加工・変換できるため、日常的なC#開発において非常に便利な機能です。
-
HTML DOM Select remove()メソッドの使い方を徹底解説!ドロップダウンリストから選択肢を削除する方法
HTML DOM の select remove() メソッドは、HTML ドキュメント内のドロップダウンリスト(<select> 要素)から、指定したオプション(選択肢)を削除するためのメソッドです。ユーザーの操作に応じて動的にリストの内容を変更したい場合に非常に便利です。 構文 remove() メソッドの基本的な構文は以下のとおりです。 object.remove(index) index には、削除したいオプションのインデックス番号を指定します。インデックスは 0 から始まる点に注意してください。つまり、最初の選択肢を削除する場合は「0」、2番目の選択肢を削除する場合は「1
-
HTML DOM Textareaのselect()メソッドとは?使い方とサンプルコードを解説
HTML DOM の Textarea select() メソッドは、HTMLドキュメント内のテキストエリア(textarea要素)の内容をプログラムから一括選択するためのメソッドです。このメソッドを呼び出すと、ユーザーがマウスやキーボードでドラッグして選択したときと同じように、テキストエリア内のすべてのテキストが選択状態になります。構文select() メソッドの基本的な構文は以下のとおりです。引数は不要で、対象の textarea 要素に対してそのまま呼び出します。object.select()それでは、HTML DOM Textarea select() メソッドの具体的な使用例を見てい