using System.Collections.Generic;
private static Random random = new Random();
private static string a => random.Next(0, 2) == 1 ? "..." : null;
private static string b => "Ебать ты дебил конечно";
private static string c => random.Next(0, 2) == 1 ? "..." : null;
private static string d => "А котлин сосет то";
static void Main(string[] args)
var listNotNull = new List<string>();
listNotNull.AddNotNull(a);
listNotNull.AddNotNull(b);
listNotNull.AddNotNull(c);
listNotNull.AddNotNull(d);
foreach (var elem in listNotNull)
var listKt = new List<string>();
a?.Let(t => listKt.Add(t));
b?.Let(t => listKt.Add(t));
c?.Let(t => listKt.Add(t));
d?.Let(t => listKt.Add(t));
foreach (var elem in listKt)
static void AddNotNull<T>(this List<T> l, T t)
static void Let<T>(this T t, Action<T> a) => a(t);