记录一下学习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#";

   说明:代码结果

  1.   hello C#

  2.   "hello" C#

  3.   hello

      C#

  4.  \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语句主要用来处理离散值判断的问题。

j_0001.gif在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.

j_0001.gif关于default:是离散值中没有匹配的时候进行处理的代码逻辑块。

j_0001.gifcase 后面的跟一个具体的值,不能写变量。如下代码的写法是错误的。


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

j_0071.gif 学而不思则罔,思而不学则殆,总结,学习,思考。