using System.Collections.Generic;
public static class Program
public static void Main()
Console.WriteLine("Hello World");
var list = new List<string?> { "a", null, "b" };
var results = ToNonNullDictionaryBlue(list, value => value.ToUpperInvariant()!);
Console.WriteLine(string.Join(", ", results));
private static IDictionary<T1, T2> ToNonNullDictionaryBlue<T1, T2>(
Func<T1, T2?> valueSelector
var dictionary = new Dictionary<T1, T2>();
foreach (var item in list)
var value = valueSelector(item);
dictionary[item] = value;