C#中的PadLeft

PS:这里只是描述我浏览博客学习的过程,并无其他意思

浏览博客,突然看到了这么一句话:

但是有的人写的程序实在不敢恭维。比如http://bbs.csdn.net/topics/390847086 里面的6L。

看到这句话莫名的有点好奇,心里也一直在想,如果是我的话会不会也和他写的一样呢?带着这种想法,我打开了这个链接的六L。代码是这样的:

   #region 各进制数间转换
        /// <summary>
        /// 实现各进制数间的转换。ConvertBase("15",10,16)表示将十进制数15转换为16进制的数。
        /// </summary>
        /// <param name="value">要转换的值,即原值</param>
        /// <param name="from">原值的进制,只能是2,8,10,16四个值。</param>
        /// <param name="to">要转换到的目标进制,只能是2,8,10,16四个值。</param>
        public static string ConvertBase(string value, int from, int to)
        {
            try
            {
                int intValue = Convert.ToInt32(value, from);  //先转成10进制
                string result = Convert.ToString(intValue, to);  //再转成目标进制
                if (to == 2)
                {
                    int resultLength = result.Length;  //获取二进制的长度
                    switch (resultLength)
                    {
                        case 7:
                            result = "0" + result;
                            break;
                        case 6:
                            result = "00" + result;
                            break;
                        case 5:
                            result = "000" + result;
                            break;
                        case 4:
                            result = "0000" + result;
                            break;
                        case 3:
                            result = "00000" + result;
                            break;
                        case 2:
                             result = "000000" + result;
                            break;
                        case 1:
                              result = "0000000" + result;
                            break;
                    }
                }
                return result;
            }
            catch
            {

                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);
                return "0";
            }
        }
        #endregion

嗯。。。仔细看了下,没毛病啊,如果是我的话我也会这么写的,最多就是把break去掉直接return嘛。。。有种不安的感觉,又看了几遍,还是没发现什么,看了楼上楼下,大意都是说这样子写很糟糕。直到有一层是这样说的:

好垃圾的代码
result = resultPad.PadLeft(8, '0');即可

看到了一个关键词,立刻问百度这是怎么回事,如下:

PadLeft(Int32)返回一个新字符串,该字符串通过在此实例中的字符左侧填充空格来达到指定的总长度,从而实现右对齐。
PadLeft(Int32, Char)返回一个新字符串,该字符串通过在此实例中的字符左侧填充指定的 Unicode 字符来达到指定的总长度,从而使这些字符右对齐。

第一个重载是在字符左侧填充空格,第二个重载是在字符左侧填充指定的char。
再想想上边的代码,好像确实是写了好多废话。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值