猿问

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

请教各位园友,我想把以下三个方法合并为一个,太冗余了!

有什么好办法?

可以用泛型实现吗?

 

 

     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;
        }
三国纷争
浏览 457回答 12
12回答

大话西游666

飘过.....  能人顶上。

慕工程0101907

有点多次一举啊 。 直接一句话的代码啊。那样写的看的也不直观啊。 decimal dCompare = decimal.TryParse(username, out dCompare) ? dCompare : 0.00M;    

偶然的你

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

交互式爱情

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

慕斯709654

mark 二楼三楼的都可行……

慕的地8271018

如果你单纯做数据转换,真没必要多此一举。系统已经封装的转换你再封装一次,华而不实。 一个函数的本质就是处理逻辑,是一个行为,是一个动作。没有任何内容的封装真不如不封装。 照这样写,你是不是应该把所有的赋值也抽个共通?与或非也可以抽了。

墨色风雨

是的,说的在理。谢谢!

一只萌萌小番薯

二楼三楼的都可行

跃然一笑

if语句,case语句

肥皂起泡泡

不是有Convert类吗。 干嘛自己写。   如果非要合并, 除了if, switch, 还可以用多态。 
随时随地看视频慕课网APP
我要回答