首页 > Windows开发 > 详细

C#泛型的加法运算方法

时间:2020-08-20 16:16:32      阅读:280      评论:0      收藏:0      [点我收藏+]

有的时候会把double int这类数值放在泛型方法里,就不需要写多份了,但是这个时候也需要进行四则运算,可以写成这个样子

 

public static T Add<T>(T num1, T num2) where T : struct, IComparable
        {
            if (typeof(T) == typeof(int))
            {
                int a = (int)Convert.ChangeType(num1, typeof(int));
                int b = (int)Convert.ChangeType(num2, typeof(int));

                int c = a + b;
                return (T)Convert.ChangeType(c, typeof(T));
            }
            else if (typeof(T) == typeof(float))
            {
                float a = (float)Convert.ChangeType(num1, typeof(float));
                float b = (float)Convert.ChangeType(num2, typeof(float));

                float c = a + b;
                return (T)Convert.ChangeType(c, typeof(T));
            }
            else if (typeof(T) == typeof(double))
            {
                double a = (double)Convert.ChangeType(num1, typeof(double));
                double b = (double)Convert.ChangeType(num2, typeof(double));

                double c = a + b;
                return (T)Convert.ChangeType(c, typeof(T));
            }
            else if (typeof(T) == typeof(decimal))
            {
                decimal a = (decimal)Convert.ChangeType(num1, typeof(decimal));
                decimal b = (decimal)Convert.ChangeType(num2, typeof(decimal));

                decimal c = a + b;
                return (T)Convert.ChangeType(c, typeof(T));
            }

            return default(T);
        }

 

把需要的数值类型都得写一遍,其他运算就照这个样子写

C#泛型的加法运算方法

原文:https://www.cnblogs.com/gxrsprite/p/13534472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!