In this post we are going are going to see how to convert a Non Nullable Types and Nullable Types to Non Nullable Types in C#. Generally in C# programming there might be a chance that we have to assign a value from Non Nullable to Nullable or Nullable to Non Nullable , to do it easily now we are going to see an Extension Method , which can be useful very handy.
We can use this Extension class like below, this method will reflect in each and every object.
The output of this code is
From this post you can see how to convert a Nullable to NonNullable Types, Non Nullable Types to Nullable
public static class Extensions { public static T ConvertTypeTo<T>(this object obj) { Type typ = typeof(T); Type Ntype = Nullable.GetUnderlyingType(typ);if (obj == null) return default(T);if (Ntype == null) { return (T)Convert.ChangeType(obj, typ); } else { return (T)Convert.ChangeType(obj, Ntype); } } public static T? ToNullable<T>(this object x) where T:struct { return x == null ? null : (T?)Convert.ChangeType(x, typeof(T)); } }
We can use this Extension class like below, this method will reflect in each and every object.
class Program { public static Nullable<bool> IsLogin { set; get; } static void Main(string[] args) { int total = 10; bool ischeck = false; Nullable<int> res1 = total.ConvertTypeTo<Nullable<int>>(); int res3 = res1.ConvertTypeTo<int>(); if (res1.HasValue) Console.WriteLine(res1); Console.WriteLine(res3); Nullable<bool> res2 = ischeck.ToNullable<bool>(); Console.WriteLine(res2.Value); bool _login = IsLogin.ConvertTypeTo<bool>(); Console.WriteLine(_login); Console.Read(); } }
The output of this code is
From this post you can see how to convert a Nullable to NonNullable Types, Non Nullable Types to Nullable
No comments:
Post a Comment