ASP.NET网站制作之Visual C#2005疾速进门之switch语句
数据挖掘有点高深的,主要估计就是使用一些算法提取一些实用的数据。学好数据挖掘的话可以应聘baidu或者google,但是一般人家对算法的要求听高的。你最好还是学点应用型的吧。这种主要是研究型的。visual|疾速进门|语句 某些时分,在嵌套利用if语句时,一切if语句看起来都十分类似,由于它们都在对一个完整不异的表达式举行求值,唯一的区分是每一个if语句都将表达式的了局与一个分歧的值举行对照。比方:if(day==0)
dayName="Sunday";
elseif(day==1)
dayName="Monday";
elseif(day==2)
dayName="Tuesday";
elseif(day==3)
...
else
dayName="Unknown";
在这些情形下,一般必要将嵌套的if语句改写为一个switch语句,使程序更无效、更简单懂。
了解switch语句的语法
switch语句的语法以下(switch,case和default是关头字):
switch(controllingExpression)
{
caseconstantExpression:
statements
break;
caseconstantExpression:
statements
break;
...
default:
statements
break;
}
controllingExpression(把持表达式)只求值一次。然后,从其constantExpression值即是controllingExpression值的case入手下手,它下方的一切语句城市一向运转,直到碰到一个break为止。随后,switch语句将停止,程序从switch停止年夜括号以后的第一个语句持续实行,并疏忽其他case。
假设任何一个constantExpression值都不即是controllingExpression的值,就运转可选标签default之下的语句。
注重假设controllingExpression的值和任何一个case标签都不婚配,同时没有发明一个default标签,程序会跳过全部switch语句,从它的停止年夜括号以后的第一个语句持续实行。
比方,后面的嵌套if语句能够改写为以下switch语句:
switch(day)
{
case0:
dayName="Sunday";
break;
case1:
dayName="Monday";
break;
case2:
dayName="Tuesday";
break;
...
default:
dayName="Unknown";
break;
}
恪守switch语句划定规矩
switch语句十分有效,但在利用时必需审慎。所写的任何switch语句都必需遵守以下划定规矩:
只能针对基础数据范例利用switch,这些范例包含int和string守候。关于其他范例,则必需利用if语句。
case标签必需是常量表达式(constantExpression),如42大概"42"。假如必要在运转时盘算case标签的值,必需利用if语句。
case标签必需是唯一性的表达式;也就是说,不同意两个case具有不异的值。
能够一连写下一系列case标签(两头不克不及间插分外的语句),从而指定本人但愿在多种情形下都运转不异的语句。假如像如许写,那末最初一个case标签以后的代码将合用于一切case。但是,假设一个标签联系关系了一个或多个语句,又没有利用break来跳出,那末实行就不克不及贯串到后续的标签,并且编译器会呈报一个毛病。比方:
switch(trumps)
{
caseHearts:
caseDiamonds://同意贯串―标签之间无分外代码
color="Red";//针对Hearts和Diamonds这两种情形城市实行的代码
break;
caseClubs:
color="Black";
caseSpades://堕落―标签之间有分外代码,并且没有利用break来跳出
color="Black";
break;
}
注重break语句是用来制止贯串的最多见的体例,但也能够用一个return语句大概一个throw语句来替换它。throw语句的概况将在今后会商。
禁绝贯串
因为C#存在禁绝贯串(fallthrough)的划定规矩,以是能够自在地布置一个switch语句的各个地区,而不至于影响其寄义(个中包含default标签,它传统意义上是最初一个标签,但并不是必定云云)。
C和C++程序员要注重的是,在利用C#编程时,必需为switch语句中的每一个case(包含defaultcase)都供应一个break语句。这个请求是一件功德情,C和C++程序员常常健忘增加break语句,形成实行主动贯串到后续的标签,并形成很难发明的bug。
但是,假如你真的喜好,也能够在C#中摹拟C++的贯串举动,办法是利用一个goto语句来转到下一个case大概default标签。但这类用法是不保举的,本书也不盘算先容详细细节!
鄙人面的实习中,我们筹办完成一个程序,它将读取一个字符串中包括的字符,并将每一个字符都映照成它的XML情势。比方,<字符在XML中具有特别寄义(用于组成元素),以是要想准确显现它,就必需转换成"<"。我们盘算写一个switch语句来测试字符的值,并将特别XML字符作为case标签来利用。
编写switch语句
1.启动VisualStudio2005。
2.翻开SwitchStatement项目,它位于MyDocuments文件夹下的MicrosoftPressVisualCSharpStepbyStepChapter4SwitchStatement子文件夹中。
3.选择“调试”|“入手下手实行(不调试)”。
VisualStudio2005将天生并运转使用程序。窗体大将呈现高低两个文本框,两头用一个Copy按钮分开。如图所示。
图两个文本框用一个Copy按钮离隔
4.在上方的文本框中输出以下示例文本:
inRange=(lo<=number)&&(number<=hi);
5.单击Copy。
一切内容会逐字复制到下方的文本框中,时代不会对<字符举行转换。
6.封闭窗体。
7.在“代码和文本编纂器”窗口中显现Form1.cs的代码,找到copyOne办法。
copyOne办法卖力将一个字符从上方的文本框复制到下方的文本框。今朝,copyOne办法中包括了一个switch语句,但个中只供应了一个default大节。
在后续的步骤中,我们将修正这个switch语句,使它能将XML中的特别字符转换成XML映照情势。比方,<字符将转换成字符串"<"。
8.在switch语句中,于default标签上方增加以下语句:
case<:
target.Text+="<";
break;
case>:
target.Text+=">";
break;
case&:
target.Text+="&";
break;
case":
target.Text+=""";
break;
case:
target.Text+="";
break;
注重在最初两个case中,反斜杠()是一个本义符,它会形成后续的字符(即"和)被视为一个间接量,而不是被视为字符串或字符常量的定界符。
9.选择“调试”|“入手下手实行(不调试)”。
VisualStudio2005将天生并运转使用程序。
10.在上方的文本框中输出以下文本:
inRange=(lo<=number)&&(number<=hi);
11.单击Copy。
一切内容会复制到下方的文本框中。这一次,每一个字符城市在switch语句中举行XML映照处置。
12.封闭窗体。在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
页:
[1]