日期:2014-05-17  浏览次数:20714 次

简单的补齐位置
int m = 1;
            string str =m.ToString();
            str.PadRight(30, ' ');
            int key1 = str.Length;
为什么会这样 我想讲这个变成30个字节怎么做啊
------最佳解决方案--------------------
本帖最后由 bdmh 于 2012-12-03 10:42:22 编辑
str = str.PadRight(30, ' ');

------其他解决方案--------------------
你自己看下PadRight的方法,那个是带有返回值的,一般有返回值的都是有意义的,需要捕获的。
另外你应该听说过string类型是不能修改的,因此string所有的方法对其修改只能通过返回一个新的string才能做到。
------其他解决方案--------------------
str = str.PadRight(30, ' ');

注意这里,因为string类型的长度是固定的,对它进行的任何追加,截取等操作都是通过返回一个新的string对象来实现的,你之前的代码读取的还是追加前的字符串,所以长度还是1,
------其他解决方案--------------------
 int m = 1;
            string str = m.ToString();
            str = str.PadRight(30, ' ');
            int key1 = str.Length;
            Console.WriteLine(key1.ToString());

            Console.ReadKey();
------其他解决方案--------------------
引用:
引用:本帖最后由 bdmh 于 2012-12-03 10:42:22 编辑
            C# code??1str = str.PadRight(30, ' ');很快很及时 但是我别的没有"str = "也行为什么这个不行

那你把你那“别的”代码贴出来看看
------其他解决方案--------------------
引用:
引用:本帖最后由 bdmh 于 2012-12-03 10:42:22 编辑
            C# code??1str = str.PadRight(30, ' ');很快很及时 但是我别的没有"str = "也行为什么这个不行

PadRight是带有返回值的,
MSDNhttp://msdn.microsoft.com/zh-cn/library/vstudio/36f2hz3a.aspx
------其他解决方案--------------------
引用:
本帖最后由 bdmh 于 2012-12-03 10:42:22 编辑
            C# code??1str = str.PadRight(30, ' ');
很快很及时 但是我别的没有"str = "也行为什么这个不行