C#中是否有通用数字类型?
发布时间:2020-12-15 06:53:11 所属栏目:百科 来源:网络整理
导读:我真的喜欢一个通用数字类型作为Func TInput的第二个通用类型参数,TRereult给出如下,所以我可以提供一个整数或一个双倍或十进制,当我喜欢. var _resultSelectors = new Dictionarystring,FuncDateTime,/*here*/ double,DateTime();// so I can do_resultSele
我真的喜欢一个通用数字类型作为Func< TInput的第二个通用类型参数,TRereult>给出如下,所以我可以提供一个整数或一个双倍或十进制,当我喜欢.
var _resultSelectors = new Dictionary<string,Func<DateTime,/*here*/ double,DateTime>>(); // so I can do _resultSelector.Add("foo",(DateTime dt,int x) => ...); _resultSelector.Add("bar",double d) => ...); _resultSelector.Add("gar",float f) => ...); _resultSelector.Add("har",decimal d) => ...); 缺乏: 制作我自己的类型;要么 在C#中有正确的方法吗? 我猜Java有一个可能符合我的要求的Number类,但是我想知道C#是否有类似的东西. 我猜C#中没有这样的东西,但是我以为我会确定的. 解决方法
不,那里没有.泛型和算术运算(,–,*,/等)根本不起作用.这是一个提出了很多次的问题,而C#设计的comitee从来没有解决(公平地说,这个功能也需要在CLR上工作,正如Eric Lippert在答复中所指出的那样).
当然,如果您检查.NET Framework的源代码,您会发现在某些开发阶段,有一个IArithmetic< T>界面,但已被报废;见here. 您可以在SO answer中阅读更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |