首页 > 开发 > 综合 > 正文

C#初学者需要注意的细节(持续更新中)

2020-02-03 13:44:43
字体:
来源:转载
供稿:网友

最近有机会给人讲c#,初学者容易犯的一些错误,也许我们这些老鸟平时也会忽略。有时间就会整理一些放上来。

 

1. @的用法:

    在很多语言之中,加@在变量前常常是指的取地址,c#中的@用在string变量前面,指的是忽略字符串中所有的转义符“/”。如:

      console.writeln( "c://downloads//test.rar" );

      与下面的语句相当:

      console.writeln( @"c:/downloads/test.rar" );

 

2. convert.to* 与 var.to* 用法区别

    以上两个函数都是显式地进行变量类型转换,一般用于无法隐式转换的变量,用法举例如下,注意它们的区别。

   int intext = 1999;
   string sttext = "";

   sttext = convert.tostring( intext );    //  convert的语法示例

   sttext = intext.tostring();   // 注意变量直接to新类型的用法,后面的()是不可省的,这和有些语言不同

   console.writeline( "this is convert test string: " + sttext );

 

3. c#的switch和c++的区别

   语法:

   switch(var)
   {
      case varvalue1:
           <语句组>
      break;
      case varvalue2:
           <语句组>
      break;
      ......
      case varvaluen:
           <语句组>
      break;
      default:       // default是可以省略的
           <语句组>
      break;

   }

   c#和c++的switch语法相同,但c++允许case语句向下贯穿,即省略break时,将继续执行下面的case语句组,而c#中禁止该用法。在c#的switch语句中,break是不能少的,但可以用goto case varvalue的方式跳过它,直接执行下面的case语句组。举例如下(可能例子不怎么符合逻辑,只是为了说明c#在switch中如何贯穿):

   console.writeline( "this is convert test string: " + sttext );

   int var1 = convert.toint32( console.readline() );

   switch( var1 )
   {
         case 70:

             console.writeline( "the number is 70 !/n" );
             goto case 80;  // 把case 80当成goto的label
             break;

         case 80:

            console.writeline( "the number is 80 !/n", var1 );
            goto default;
            break;

        default:

           console.writeline( "the number is not 70 or 80 !/n");
           break;

   }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表