C#中一些很基础但有经常导致错误的一些概念


char 的双重身份
char表示字符但却被看成是整数家族的一部分,它所表示的值是一个无符号整数,它可以参加计算,并可以隐式转换成int,long,ushort,uint和ulong
我看一下下面的例子就明白了:

 1 using  System;
 2
 3 public   class  Characters
 4 {
 5    public static void Main()
 6    {
 7        char firstSymbol;
 8        char secondSymbol;
 9        int intFirstSymbol;
10        int intSecondSymbol;
11        int result;
12
13        firstSymbol = '\u0034';
14        secondSymbol = '\u0039';
15
16        Console.WriteLine("firset as charactor:{0}",firstSymbol);
17        Console.WriteLine("SecondSymbol as Charactor:{0}",secondSymbol);
18        intFirstSymbol = firstSymbol;
19        intSecondSymbol = secondSymbol;
20        Console.WriteLine("firstSymbol as int:{0}",intFirstSymbol);
21        Console.WriteLine("SecondSymbol as int:{0}",intSecondSymbol);
22        result = firstSymbol + secondSymbol;
23        Console.WriteLine("result as int:{0}",result);
24        Console.WriteLine("result as character:{0}",(char)result);
25    }

26}
运行结果:


\u0034为字符4的Unicode值,\u0039为字符‘9’的Unicode值。

关于“++ --”操作符 放在操作数的前面和后面的区别
很多人都会认为 “++ --” 操作符放在变量的前后是没有区别的,看下面这段代码:
 1 using  System;
 2
 3 class  PlusPlus
 4 {
 5    public static void Main()
 6    {
 7        int a=5;
 8        int b=10;
 9
10        Console.WriteLine("a++ = {0}",a++);
11        Console.WriteLine("++b = {0}",++b);
12    }

13}
运行结果:
a++ = 5
++b = 11
在代码中我们把操作符“++”分别放在变量“a”和变量“b”的前面和后面,但是输出的结果却是不同的,放在后面的a变量输出的结果没事使a变量增加,而操作符放在前面的b变量却自动增加了,一般我们都不会注意到这点,以至于我们在程序中出现了这样的错误我们都找不到原因,这是因为操作符“++ --”如果放在变量的后面是在整个表达式完成运算以后才会自增1,而放在放在前面则是先自增以后再参与表达式的运算。

转载于:https://www.cnblogs.com/xiaotao823/archive/2008/01/21/1047266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值