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

王朝c#·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

by digitalife

最近有机会给人讲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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航