记录一下学习C#编程的点点滴滴的细节。
1.赋值表达是的值:
int b=(i=1); Console.WriteLine("{0}",i=1); Console.WriteLine("{b}",b);
在C#中赋值表达式也是有值的,就是赋值后的变量的值。
2.字符串转义字符处理:
string str="hello C#"; string str="\"hello\" C#"; string str="hello\n C#"; string str="\\hello \\C#"; string str=@"\hello \C#";
说明:代码结果
hello C#
"hello" C#
hello
C#
\hello \C#
5. \hello \C#
第一行正常输出
第二行字符串中要输出双引号,则用反斜杠来转义
第三行字符串中要换行,则用反斜杠加n来换行
第四行字符串中要输出反斜杠,则用两个反斜杠
第五号在字符串前面添加@符合,字符串中的反斜杠不当转义字符处理,正常输出
3.在Console程序中是输出信息停留显示
Console.WriteLine("Somethings..."); Console.ReadKey();
执行Console.ReadKey();的时候,控制台从键盘读取输入,此时控制台显示将停留,使得我们可以看到输出的信息。
4.{}和;的一些事
//Block-1================================== int age=10; if(age > 20); { Console.WriteLine("成年人"); } //Block-2=================================== int age =22; if(age >20) Console.WriteLine("成年人"); Console.WriteLine("恭喜喽"); //Block-3=================================== int age =22; if(age >20) { Console.WriteLine("成年人"); Console.WriteLine("恭喜喽"); }
上面代码块执行结果:
Block-1:成年人
无论age的值是多少,输出的结果是相同的,因为if语句后面有一个“;”。
Block-2: 成年人
恭喜喽
无论age的值是多少,都有输出“恭喜喽”,因为只用Console.WriteLine("成年人");语句属于if控制范围的。
Block-3: 成年人
恭喜喽
只有age的值大于20,才能输出上面结果。
总结:
“;”分号是一条语句的结束标记,一定要严格使用;
“{}”是控制块,为条件判断语句包含多条语句。
5.if..else 嵌套
多级嵌套会使代码陷入深度判断,不易阅读;一级判断,又会使判断语句同级增加,代码量增加,而且使判断次数增多。
if..else嵌套,两层和三层可以停止了,合理划分判断的条件关系,可以降低嵌套级别。
6.数组
int [] array={1,2,3}; int [] array=new int[3]; //数组元素个数和声明数必须一致 int [] array=new int[3]{1,2,3} //下面方式是错误的 int [] array=new int[5]{1,2,3} //数组是可以保存多个字,几乎任何类型都可以声明成数组 class Obj{ } Obj [] objArray=new Obj[2]; bool [] boArray=new bool[3];
数组索引(下标)是从0开始。
7. 写好注释
写好注释,两个意思,既要在代码上写上注释,又要写好有意义的注释。
类是做什么用的,实现什么功能;
方法是做什么用的,实现什么功能;
变量是做什么用的;
代码中特别容易出错,不易理解的地方详细说明。
容易犯的错误是:注释写成的代码说明,或者是实现过程。
8.switch...case语句
int value=3; switch(vale) { case 2: Console.WriteLine("Haa2"+value); break; case 3: Console.WriteLine("Haa3"+value); break; case 6: Console.WriteLine("Haa6"+value); break; default: Console.WriteLine("Meile"); break; }
switch...case语句主要用来处理离散值判断的问题。
在C#中case语句执行完成后要求添加break;
特殊情况有如下:
int value=3; switch(vale) { case 2: Console.WriteLine("Haa2"+value); break; case 3: case 6: Console.WriteLine("Haa"+value); break; default: Console.WriteLine("Meile"); break; }
case3和case6的处理逻辑是一样的时候,可以并case.
关于default:是离散值中没有匹配的时候进行处理的代码逻辑块。
case 后面的跟一个具体的值,不能写变量。如下代码的写法是错误的。
case i+1: ..... break;
9.Microsoft Visual Studio
Visual Studio是C#编程的IDE,但不是唯一的,同样没有IDE,C#编程仍然可以使用记事本来完成。
VS中一个解决方案下可以建立多个项目,项目有控制台的,WinForm的,Web的等等,一个项目下将可以添加开发中的多种类文件,资源文件等等。
关于CosoleApplication的启动,需要在工具-->选项中设置,启动项,可以选择为解决方案下选中的项目为当前启动项。
10.命名
C#支持中文命名,但是不建议,也最好不要去使用。
命名可以使用骆驼命名法,Pascal命名法。
参考C#命名规范http://www.soaspx.com/dotnet/csharp/csharp_20121018_9704.html
学而不思则罔,思而不学则殆,总结,学习,思考。
本文出自 “Ajax的姑娘” 博客,谢绝转载!