为了账号安全,请及时绑定邮箱和手机立即绑定

请教各位园友,我想把以下三个简单的方法合并为一个,求支招!

请教各位园友,我想把以下三个简单的方法合并为一个,求支招!

三国纷争 2018-12-06 17:31:15
请教各位园友,我想把以下三个方法合并为一个,太冗余了! 有什么好办法? 可以用泛型实现吗?          private float StringToFloat(string value) { float fCompare = 0; float.TryParse(value.Trim(), out fCompare); return fCompare; } private decimal StringToDecimal(string value) { decimal dCompare = 0; decimal.TryParse(value.Trim(), out dCompare); return dCompare; } private int StringToInt32(string value) { int iCompare = 0; int.TryParse(value.Trim(), out iCompare); return iCompare; }
查看完整描述

12 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

飘过..... 

能人顶上。

查看完整回答
反对 回复 2019-01-21
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

有点多次一举啊 。

直接一句话的代码啊。那样写的看的也不直观啊。

decimal dCompare = decimal.TryParse(username, out dCompare) ? dCompare : 0.00M;

 

 

查看完整回答
反对 回复 2019-01-21
?
偶然的你

TA贡献1841条经验 获得超3个赞

如果是多个地方需要转换,且类型也有多种的时候      这样写就不易读且冗余

查看完整回答
反对 回复 2019-01-21
?
交互式爱情

TA贡献1712条经验 获得超3个赞

@战斗力: 没感觉。这样反而更容易读取,对错误默认值的处理也更加到位。冗余的地方没看出来,LZ试下看,只会少代码而不会多代码的。

查看完整回答
反对 回复 2019-01-21
?
慕斯709654

TA贡献1840条经验 获得超5个赞

mark

二楼三楼的都可行……

查看完整回答
反对 回复 2019-01-21
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

如果你单纯做数据转换,真没必要多此一举。系统已经封装的转换你再封装一次,华而不实。

一个函数的本质就是处理逻辑,是一个行为,是一个动作。没有任何内容的封装真不如不封装。

照这样写,你是不是应该把所有的赋值也抽个共通?与或非也可以抽了。

查看完整回答
反对 回复 2019-01-21
?
墨色风雨

TA贡献1853条经验 获得超6个赞

是的,说的在理。谢谢!

查看完整回答
反对 回复 2019-01-21
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

二楼三楼的都可行

查看完整回答
反对 回复 2019-01-21
?
跃然一笑

TA贡献1826条经验 获得超6个赞

if语句,case语句

查看完整回答
反对 回复 2019-01-21
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

不是有Convert类吗。

干嘛自己写。

 

如果非要合并, 除了if, switch, 还可以用多态。 

查看完整回答
反对 回复 2019-01-21
?
aluckdog

TA贡献1847条经验 获得超7个赞

多态的写法是怎样的?

查看完整回答
反对 回复 2019-01-21
  • 12 回答
  • 0 关注
  • 455 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信