若相依 发表于 2015-1-16 22:41:37

ASP.NET编程:Visual C# 2005疾速进门之编写办法

java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。visual|疾速进门  鄙人面的实习中,将创立一个使用程序,它包括的一个办法可以盘算一位参谋的免费金额――假定该参谋天天收取流动的用度,将依据事情了几天来免费。起首要开辟使用程序的逻辑,然后使用“天生办法存根导游”来写出这个逻辑利用的办法。接着,我们将在一个把持台使用程序中运转办法,以取得对该程序的终极印象。最初,我们将利用VisualStudio2005调试器来反省办法挪用。

  开辟使用程序逻辑

  1.在VisualStudio2005中翻开MyDocuments文件夹下的MicrosoftPressVisualCSharpStepbyStepChapter3DailyRate子文件夹中的DailyRate项目。

  2.在“办理计划资本办理器”中,双击Program.cs文件,以便在“代码和文本编纂器”窗口中显现程序。

  3.在run办法主体中增加以下语句:

doubledailyRate=readDouble("Enteryourdailyrate:");
intnoOfDays=readInt("Enterthenumberofdays:");
writeFee(calculateFee(dailyRate,noOfDays));
  使用程序启动时,run办法将由Main办法挪用。

  方才在run办法中增加的代码块会挪用readDouble办法(即刻就要入手下手写这个办法),以便让用户输出参谋的日费率。下一个语句挪用readInt办法(也即刻由我们来写)来猎取天数。最初将挪用writeFee办法(守候编写),以便在屏幕上显现了局。注重,传给writeFee的值是calculateFee办法(最初一个要写的办法)前往的值,该办法猎取日费率和天数,并盘算出要付出的总金额。

  注重因为还没有写好readDouble,readInt,writeFee大概calculateFee办法,以是“智能感知”没法在输出上述代码的时分主动列出它们。别的,先不要试图天生程序,由于一定会失利。

  利用“天生办法存根导游”来编写办法

  1.在“代码和文本编纂器”窗口中,单击run办法中的readDouble办法挪用。

  随后会在readDouble的第一个字母("r")下方显现一个小的下划线图标。将鼠标指针移至字母"r",会主动呈现一个图标。将鼠标指针悬停在这个图标上方,会显现一条工具提醒:“用于天生办法存根的选项(Shift+Alt+F10)”,并供应了一个下拉菜单。单击下拉菜单,就会看到一个选项:天生"DailyRate.Program"中的"ReadDouble"的办法存根。

  2.单击“天生"DailyRate.Program"中的"ReadDouble"的办法存根”选项。

  随后,“天生办法存根导游”会反省对readDouble办法的挪用,判别参数范例和前往值,并天生一个具有默许完成的办法,以下所示:

privatedoublereadDouble(stringp)
{
thrownewException("Themethodoroperationisnotimplemented.");
}
  新办法是利用一个private限制符来创立的。办法主体今朝只是掷出一个非常。我们将鄙人一步将主体交换成本人的语句。

  3.从readDouble办法中删除thrownewException(…);语句,将它交换成以下代码行:

Console.Write(p);
stringline=Console.ReadLine();
returndouble.Parse(line);
  上述代码块会将变量p中的字符串输入到屏幕。该变量是挪用办法是传送的字符串参数,个中包括提醒用户输出日费率的一条动静。用户输出一个值,该值将经由过程ReadLine办法读进一个字符串中,并经由过程double.Parse办法转换成一个double值。了局将作为办法挪用的前往值传回。

  注重ReadLine办法是与WriteLine配套的一个办法,它从键盘读取用户直到按回车键之前的输出。用户输出的文本将作为前往值传回。

  4.在run办法中,单击readInt办法挪用,依照和后面一样的历程,为readInt办法天生一个办法存根。

  readInt办法将利用一个默许的完成来天生。

  提醒为了天生一个办法存根,还能够右击一个办法挪用,并从弹出菜单当选择“天生办法存根”。

  5.将readInt办法的主体交换成以下语句:

Console.Write(p);
stringline=Console.ReadLine();
returnint.Parse(line);
  这个代码块和readDouble办法的十分类似。唯一的区分是办法前往一个int值,以是要利用int.Parse办法将字符串转换成整数。

  6.右击run办法中的calculateFee办法挪用,选择“天生办法存根”。

  随后会天生calculateFee办法:

privateobjectcalculateFee(doubledailyRate,intnoOfDays)
{
thrownewException("Themethodoroperationisnotimplemented");
}
  注重,“天生办法存根导游”利用传进的实参称号来天生形参称号(固然,假设以为分歧适,完整能够变动形参称号)。更让人感乐趣的是办法的前往范例,今朝是object。这标明“天生办法存根导游”没法依据以后的高低文来断定办法应当前往甚么范例的值。object范例只是意味着一样“器材”,在办法中增加详细的代码时,应当把它修正成本人必要的范例。

  7.修正calculateFee办法的界说,使它前往一个double值:

privatedoublecalculateFee(doubledailyRate,intnoOfDays)
{
thrownewException("Themethodoroperationisnotimplemented");
}
  8.将calculateFee办法的主体交换成以下语句,它盘算两个参数值的乘积来取得必要付出的金额,并前往了局。

returndailyRate*noOfDays;
  9.右击run办法中的writeFee办法挪用,选择“天生办法存根”。

  随后会天生writeFee办法。注重,“天生办法存根导游”依据calculateFee办法的界说判别出writeFee办法的参数应当是一个double参数。别的,办法挪用没有利用一个前往值,以是办法的范例为void:

privatevoidwriteFee(doublep)
{
...
}
  10.在writeFee办法外部输出以下语句:

Console.WriteLine("Theconsultantsfeeis:{0}",p*1.1);
  注重这个版本的WriteLine办法演示了怎样使用一个复杂的格局字符串。{0}是一个占位符;在求值的时分,它会被字符串以后的表达式(p*1.1)的值交换失落。

  11.选择“天生”|“天生办理计划”。

  提醒假如对语法已充实熟习,也能够经由过程间接在“代码和文本编纂器”窗口中输出的体例来编写办法。并不是必定要利用“天生办法存根”选项。
  重构代码

  VisualStudio2005十分有效的一项特征就是对代码举行重构。某些时分,我们必要在使用程序的多个地位写不异的(大概十分类似的)代码。在这类情形下,能够选定方才输出的代码块,然后从菜单栏当选择“重构”|“提取办法”。随后会呈现“提取办法”对话框,提醒你输出一个新办法的称号,该办法将用于包括你方才输出的代码。请输出办法名,并单击“断定”。随后,体系将创立这个办法,并将你方才输出的代码转移到个中,方才输出的代码则被交换成对该办法的一个挪用。“提取办法”还具有必定的智能,能够判别办法是不是应当猎取任何参数和前往值。

  测试程序

  1.选择“调试”|“入手下手实行(不调试)”,VisualStudio2005将天生程序,并运转它。运转时会显现一个把持台窗口。

  2.在EnterYourDailyRate(输出日费率)提醒以后,请输出525,然后按回车键。

  3.在EnterTheNumberOfDays(输出天数)提醒以后,请输出17,然后按回车键。

  程序会在把持台上显现以下动静:

Theconsultant’sfeeis:9817.5

  按回车键前往VisualStudio2005编程情况。

  在最初一个实习中,将利用VisualStudio2005调试器,以对照慢的步伐来运转程序。你将看到每一个办法被挪用的时候(这个举动称为跳进),并看到每一个return语句怎样将把持返还给挪用者(这个举动称为跳出)。进进和分开办法时,都必要利用“调试”工具栏上的工具。但是,在调试形式中运转使用程序时,不异的命令也可从“调试”菜单当选择。

  利用VisualStudio2005调试器顺次实行每一个办法

  1.在“代码和文本编纂器”窗口中,找到run办法。

  2.使鼠标指针瞄准run办法中的第一个语句。

  run办法的第一个语句是:

doubledailyRate=readDouble("Enteryourdailyrate:");

  3.右击该行的任何中央,从弹出菜单当选择“运转到光标处”。

  程序将入手下手运转,并在到达run办法的第一个语句以后停息。“代码和文本编纂器”窗口左边的一个黄色箭头指了然以后语句,该语句还会用一个黄色背景来凸起显现。

  4.选择“视图”|“工具栏”,断定已勾选了“调试”工具栏。“调试”工具栏大概会停靠在其他工具栏中间。假如找不到这个工具栏,能够试着利用“视图”菜单中的“工具栏”命令临时埋没它,并寄望哪些按钮从界面上消散了。从头显现这个工具栏,就能够晓得它应当在甚么地位呈现。

  提醒要想将“调试”工具栏自力出来,请利用工具栏左边的控点,把它拖放以“代码和文本编纂器”窗口上方。

  5.单击“调试”工具栏上的“逐语句”按钮。这个举动会使调试器跳进正在挪用的办法。左边的黄色箭头会指向readDouble办法的肇端年夜括号。再次单击“逐语句”按钮,指针会转向第一个语句:Console.Write(p);

  提醒按F11键的感化同等于单击“调试”工具栏上的“逐语句”按钮。

  6.单击“调试”工具栏上的“逐历程”按钮。这会招致办法实行下一个语句而不调试它。黄色箭头将指向办法的第二个语句,程序会在一个把持台窗口中显现“EnterYourDailyRate”提醒(把持台窗口大概埋没在VisualStudio2005前面)。

  提醒按F10键的感化同等于单击“调试”工具栏上的“逐历程”按钮。

  7.单击“调试”工具栏上的“逐历程”按钮。这一次,黄色箭头会消散,把持台窗口将取得核心,由于程序正在实行Console.ReadLine办法,请求用户输出一些内容。

  8.在把持台窗口中输出525,按回车键持续。

  随后,把持将前往VisualStudio2005。黄色箭头将在办法的第三行呈现。

  9.不要做出任何单击举动,请将鼠标指针移至办法第二行或第三行对line变量的援用上(详细瞄准哪一行可有可无)。

  随后会呈现一条屏幕提醒,它显现了line变量确当前值(525)。使用这个特征,能够断定在逐办法实行的时分,变量已设置成本人希冀的一个值。

  10.单击“调试”工具栏上的“跳出”按钮。

  这会招致以后办法持续无中止地运转,直到停止。当readDouble办法实行终了以后,黄色箭头会指回run办法的第一个语句。

  提醒按Shift+F11键的感化同等于单击“调试”工具栏上的“跳出”按钮。

  11.单击“调试”工具栏上的“逐语句”按钮。

  黄色箭头会移至run办法的第二个语句:

intnoOfDays=readInt("Enterthenumberofdays:");

  12.单击“调试”工具栏上的“逐历程”按钮。

  这一次,选择了间接运转办法,而不逐语句地调试该办法。把持台窗口将再次呈现,提醒输出一个天数。

  13.在把持台窗口中输出17,按回车键持续。

  把持将前往至VisualStudio2005。黄色箭头将移至run办法的第三个语句:

writeFee(calculateFee(dailyRate,noOfDays));

  14.单击“调试”工具栏上的“逐语句”按钮。

  黄色箭头将跳至calculateFee办法的肇端年夜括号处。该办法将先于writeFee办法被挪用。

  15.单击“调试”工具栏上的“跳出”按钮。

  黄色箭头将跳回run办法的第三个语句。

  16.单击“调试”工具栏上的“逐语句”按钮。

  这一次,黄色箭头将跳至writeFee办法的肇端年夜括号处。

  17.让鼠标指针瞄准办法界说中的p变量。

  随后将显现p的值(8925.0)。

  18.单击“调试”工具栏上的“跳出”按钮。

  随后会在把持台窗口中显现动静“Theconsultant’sfeeis:9817.5”(假如把持台窗口埋没在VisualStudio2005以后,请把它带到前台来显现)。黄色箭头将前往run办法的第三个语句。

  19.单击“调试”工具栏上的“持续”按钮,使程序一连运转,而不在每一个语句处停息。

  使用程序将一向运转至停止。

  提醒还能够按F5键在调试器中持续实行。

  祝贺!你已乐成编写并挪用了办法,并使用VisualStudio2005调试器对它们举行了调试。
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!

透明 发表于 2015-1-25 20:51:58

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

爱飞 发表于 2015-2-3 23:34:12

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

小妖女 发表于 2015-2-9 07:16:13

那么,ASP.Net有哪些改进呢?

莫相离 发表于 2015-2-27 04:12:21

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

乐观 发表于 2015-3-8 19:49:17

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

金色的骷髅 发表于 2015-3-22 23:10:17

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

仓酷云 发表于 2015-3-22 23:10:17

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
页: [1]
查看完整版本: ASP.NET编程:Visual C# 2005疾速进门之编写办法