惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗
小众软件
小众软件
博客园 - Franky
D
Docker
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
宝玉的分享
宝玉的分享
C
Check Point Blog
B
Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
The Cloudflare Blog
博客园 - 聂微东
博客园_首页
Engineering at Meta
Engineering at Meta

博客园 - Forrest Gump

关于LINQ中数据库连接字符串的问题 项目开发经验-ASP.NET项目开发中的异常处理 关于模态窗口(showModalDialog)的专题【收藏】 C#面试题 C# 将数据导出到Excel汇总 关于Assembly.CreateInstance()与Activator.CreateInstance()方法 PowerDesigner概念设计模型(CDM)中的3种实体关系 C#基础概念二十五问 Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0 用Inno Setup制作WEB程序安装包 冒泡法数组排序与 System.Array.Sort()排序性能比较 堆排序 (Heap sort) 合并排序法(Merge Sort) 希尔排序法 quick sort 关于switch的小技巧 Enterprise Library Step By Step系列(十六):使用AppSetting Application Block Enterprise Library Step By Step系列(十五):配置应用程序块——设计篇 创建基于消息队列(MSMQ)的异步日志
C#中一些很基础但有经常导致错误的一些概念
Forrest Gump · 2008-01-21 · via 博客园 - Forrest Gump


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

 1using System;
 2
 3public 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值。

关于“++ --”操作符 放在操作数的前面和后面的区别
很多人都会认为 “++ --” 操作符放在变量的前后是没有区别的,看下面这段代码:

 1using System;
 2
 3class 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,而放在放在前面则是先自增以后再参与表达式的运算。