LINQの練習問題
要件からコードを作成する練習です
問題
C#で次の条件でコードを記述しなさい
int型を型パラメータにとるリストを作成します
初期値として、1,2,3,4,5を代入します
この要素の中で、4以上のものだけを抽出して、それをまたリストにします
結果を一覧表示します
解答
解説
C#でint型を型パラメータにとるリストを作成するには、List<int>を使用します。初期値として、1,2,3,4,5を代入するには、以下のように記述します
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
要素の中で、4以上のものだけを抽出して、それをまたリストにするには、以下のように記述します
List<int> greaterThanFour = list.Where(x => x >= 4).ToList();
結果を一覧表示するには、foreach文を使用します
foreach (int item in greaterThanFour)
{
Console.WriteLine(item);
}
また、もう少し簡潔に書くこともできます
greaterThanFour.ForEach(x => Console.WriteLine(x));
.NET6以前(.NET6以降でも使えます)
internal class Program
{
private static void Main(string[] args)
{
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
List<int> greaterThanFour = list.Where(x => x >= 4).ToList();
foreach (int item in greaterThanFour)
{
Console.WriteLine(item);
}
}
}
.NET6以降の場合
次のようにトップレベルステートメントでの記述ができます
list = new List<int> { 1, 2, 3, 4, 5 };
List<int> greaterThanFour = list.Where(x => x >= 4).ToList();
foreach (int item in greaterThanFour)
{
Console.WriteLine(item);
}
おまけ
LINQを使わなかったケースも載せておきます
.NET6以前(.NET6以降でも使えます)
class Program
{
static void Main()
{
// int型のリストを作成
List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
// 4以上の要素を抽出して新しいリストを作成
List<int> filteredList = new List<int>();
for (int i = 0; i < list.Count; i++)
{
if (list[i] >= 4)
{
filteredList.Add(list[i]);
}
}
// 結果を一覧表示
Console.WriteLine("4以上の要素:");
for (int i = 0; i < filteredList.Count; i++)
{
Console.Write(filteredList[i] + " ");
}
}
}
.NET6以降の場合
// int型のリストを作成
List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
// 4以上の要素を抽出して新しいリストを作成
List<int> filteredList = new List<int>();
for (int i = 0; i < list.Count; i++)
{
if (list[i] >= 4)
{
filteredList.Add(list[i]);
}
}
// 結果を一覧表示
Console.WriteLine("4以上の要素:");
for (int i = 0; i < filteredList.Count; i++)
{
Console.Write(filteredList[i] + " ");
}
ディスカッション
コメント一覧
まだ、コメントがありません