日期:2014-05-18  浏览次数:20694 次

初学c#,问两个基础问题,先谢了
初学c#,问两个基础问题,先谢了
-----------
1.假如text是一个已定义的变量,下面写法是正确的
Console.WriteLine("{0}", text);
可是下面的写法如何解释呢? {0,-5}中的 -5 是什么意思? 
Console.WriteLine("{0,-5}", text);

2.单纯定义一个变量,但是不做初始化,这时在内存分配空间吗?
比如
int a;

int a=78
在具体细节上有何区别呀?


------解决方案--------------------
如果你只写一句int a,永远不给a赋值,也不使用a,且a是函数的内部变量的话。

a会被编译器优化掉……
------解决方案--------------------
1.复合格式化——对齐组件
可选的“对齐”组件是一个带符号的整数,指示首选的格式化字段宽度。如果“对齐”值小于格式化字符串的长度,“对齐”会被忽略,并且使用格式化字符串的长度作为字段宽度。如果“对齐”为正数,字段的格式化数据为右对齐;如果“对齐”为负数,字段的格式化数据为左对齐。如果需要填充,则使用空白。如果指定“对齐”,就需要使用逗号。

2.Ivony的答案...
------解决方案--------------------
1 -5是左对齐。
2 int a中a的值为空。
------解决方案--------------------
1、可以用格式Console.WriteLine("{n,w}", text); n表示参数索引,w表示宽度,正数表示右对齐,负数表示左对齐。
Int I =34;
Consol.writeline(“{0,4}\n+”,I);
结果为
34
+
2、int a.a 的值可能是内存中遗留下来的一个数值,但C#不允许使用未初始化的变量。
int a=78.a就有了一个初始值78了