C#でnullableなIListをListに変換する方法


まず、nullableなIListをListに変換する最もシンプルな方法は、LINQを使用する方法です。以下に、具体的なコード例を示します。

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
    public static void Main()
    {
        IList<int?> nullableList = new List<int?> { 1, null, 3, null, 5 };

        List<int> nonNullableList = nullableList
            .Where(item => item.HasValue)
            .Select(item => item.Value)
            .ToList();

        foreach (int item in nonNullableList)
        {
            Console.WriteLine(item);
        }
    }
}

上記のコードでは、まずnullableなIListであるnullableListを作成し、その中にいくつかの要素を含めています。次に、LINQメソッドを使用して、nullableListからnullでない要素だけを抽出し、新しいListであるnonNullableListを作成しています。

Whereメソッドを使用して、item.HasValueを確認し、nullでない要素だけをフィルタリングしています。その後、Selectメソッドを使用して、nullでない値に変換しています。最後に、ToListメソッドを使用して、新しいListを作成しています。

以上のコードを実行すると、nonNullableListの各要素が表示されます。nullでない要素のみが抽出され、nullableなIListから変換されたことが確認できます。

この方法を使用すると、nullableなIListをシンプルかつ効率的にListに変換することができます。