C#中变量申请内存是在变量首次赋值的时候申请内存,并不是声明的时候申请。
所以如下代码会报错。
<pre name="code" class="csharp">int a ;
if (true)
{
a = 2;
}
Console.WriteLine("{0}", a);
改为如下代码则可以正常输出 2 。
int a = 3;
if (true)
{
a = 2;
}
Console.WriteLine("{0}", a);
C#中简单的数据类型:
名称 CTS类型 字节数 有无符号
sbyte System.sbyte 1 有
short System.int16 2 有
int System.int32 4 有
long System.int64 8 有 L
byte System.byte 1 无
ushort System.Uint16 2 无
uint System.Uint32 4 无 U无符号数后缀
ulong System.Uint64 8 无 UL
float System.Single 4 有 F 32位单精度浮点型数
double System.Double 8 有 D 64位双精度浮点型数
decimal System.Decimal 16 有 M 128位高精度十进制数
bool System.Boolean true or false --
char System.Char 单个Unicode字符 --存储的是整型的数值 16位可以表示65535个字符,字符数据以整型存储,所以可以通过十六进制数字表示\x。(C#中的 char 是占用两个字节而C++中的char对应C#中的byte