CSharp · Console
// C# Extension Method
// Doc: https://csharp-extension.com/en/method/1002503/object-tonullablecharordefault
// @nuget: Z.ExtensionMethods
using System;
public class Program
{
public static void Main()
{
object val1 = 'a';
object val2 = '-';
object thisNull = null;
object thisInvalid = "FizzBuzz";
string format = "{0, -20} {1, -15}";
Console.WriteLine(format, "Object", "ToNullableCharOrDefault");
Console.WriteLine(format, "------", "-----------------------");
// C# Extension Method: Object - ToNullableCharOrDefault
Console.WriteLine(format, val1, val1.ToNullableCharOrDefault());
Console.WriteLine(format, val2, val2.ToNullableCharOrDefault());
Console.WriteLine(format, "null", thisNull.ToNullableCharOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableCharOrDefault());
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableCharOrDefault('.'));
Console.WriteLine(format, thisInvalid, thisInvalid.ToNullableCharOrDefault(() => '.'));
}
}