位置: 编程技术 - 正文

C#编写方法实例(c#代码怎么写)

编辑:rootadmin

  开发应用程序逻辑   1. 在Visual Studio 中打开My Documents文件夹下的Microsoft PressVisual CSharp Step by StepChapter 3DailyRate子文件夹中的DailyRate项目。   2. 在“解决方案资源管理器”中,双击Program.cs文件,以便在“代码和文本编辑器”窗口中显示程序。   3. 在run方法主体中添加以下语句: double dailyRate = readDouble("Enter your daily rate: "); int noOfDays = readInt("Enter the number of days: "); writeFee(calculateFee(dailyRate, noOfDays));   应用程序启动时,run方法将由Main方法调用。   刚才在run方法中添加的代码块会调用readDouble方法(马上就要开始写这个方法),以便让用户输入顾问的日费率。下一个语句调用readInt方法(也马上由我们来写)来获取天数。最后将调用writeFee方法(等待编写),以便在屏幕上显示结果。注意,传给writeFee的值是calculateFee方法(最后一个要写的方法)返回的值,该方法获取日费率和天数,并计算出要支付的总金额。   注意 由于尚未写好readDouble,readInt,writeFee或者calculateFee方法,所以“智能感知”无法在输入上述代码的时候自动列出它们。另外,先不要试图生成程序,因为肯定会失败。   使用“生成方法存根向导”来编写方法   1. 在“代码和文本编辑器”窗口中,单击run方法中的readDouble方法调用。   随后会在readDouble的第一个字母("r")下方显示一个小的下划线图标。将鼠标指针移至字母"r",会自动出现一个图标。将鼠标指针悬停在这个图标上方,会显示一条工具提示:“用于生成方法存根的选项(Shift + Alt + F)”,并提供了一个下拉菜单。单击下拉菜单,就会看到一个选项:生成"DailyRate.Program"中的"ReadDouble"的方法存根。   2. 单击“生成"DailyRate.Program"中的"ReadDouble"的方法存根”选项。   随后,“生成方法存根向导”会检查对readDouble方法的调用,判断参数类型和返回值,并生成一个具有默认实现的方法,如下所示: private double readDouble(string p) { throw new Exception("The method or operation is not implemented."); }   新方法是使用一个private限定符来创建的。方法主体目前只是掷出一个异常。我们将在下一步将主体替换成自己的语句。   3. 从readDouble方法中删除throw new Exception(…);语句,将它替换成以下代码行: Console.Write(p); string line = Console.ReadLine(); return double.Parse(line);   上述代码块会将变量p中的字符串输出到屏幕。该变量是调用方法是传递的字符串参数,其中包含提示用户输入日费率的一条消息。用户输入一个值,该值将通过ReadLine方法读入一个字符串中,并通过double.Parse方法转换成一个double值。结果将作为方法调用的返回值传回。   注意 ReadLine方法是与WriteLine配套的一个方法,它从键盘读取用户直到按回车键之前的输入。用户输入的文本将作为返回值传回。   4. 在run方法中,单击readInt方法调用,按照和前面一样的过程,为readInt方法生成一个方法存根。   readInt方法将使用一个默认的实现来生成。   提示 为了生成一个方法存根,还可以右击一个方法调用,并从弹出菜单中选择“生成方法存根”。   5. 将readInt方法的主体替换成以下语句: Console.Write(p); string line = Console.ReadLine(); return int.Parse(line);   这个代码块和readDouble方法的非常相似。惟一的区别是方法返回一个int值,所以要使用int.Parse方法将字符串转换成整数。   6. 右击run方法中的calculateFee方法调用,选择“生成方法存根”。   随后会生成calculateFee方法: private object calculateFee(double dailyRate, int noOfDays) { throw new Exception("The method or operation is not implemented"); }   注意,“生成方法存根向导”使用传入的实参名称来生成形参名称(当然,假如觉得不合适,完全可以更改形参名称)。更让人感兴趣的是方法的返回类型,目前是object。这表明“生成方法存根向导”无法根据当前的上下文来确定方法应该返回什么类型的值。object类型只是意味着一样“东西”,在方法中添加具体的代码时,应该把它修改成自己需要的类型。   7. 修改calculateFee方法的定义,使它返回一个double值: private double calculateFee (double dailyRate, int noOfDays) { throw new Exception("The method or operation is not implemented"); }   8. 将calculateFee方法的主体替换成以下语句,它计算两个参数值的乘积来获得需要支付的金额,并返回结果。 return dailyRate * noOfDays;   9. 右击run方法中的writeFee方法调用,选择“生成方法存根”。   随后会生成writeFee方法。注意,“生成方法存根向导”根据calculateFee方法的定义判断出writeFee方法的参数应该是一个double参数。另外,方法调用没有使用一个返回值,所以方法的类型为void: private void writeFee(double p) { ... }   . 在writeFee方法内部输入以下语句: Console.WriteLine("The consultant's fee is: {0}", p * 1.1);   注意 这个版本的WriteLine方法演示了如何利用一个简单的格式字符串。{0}是一个占位符;在求值的时候,它会被字符串之后的表达式(p * 1.1)的值替换掉。   . 选择“生成”|“生成解决方案”。 重构代码   Visual Studio 非常有用的一项特性就是对代码进行重构。某些时候,我们需要在应用程序的多个位置写相同的(或者非常相似的)代码。在这种情况下,可以选定刚刚输入的代码块,然后从菜单栏中选择“重构”|“提取方法”。随后会出现“提取方法”对话框,提示你输入一个新方法的名称,该方法将用于包含你刚才输入的代码。请输入方法名,并单击“确定”。随后,系统将创建这个方法,并将你刚才输入的代码转移到其中,刚才输入的代码则被替换成对该方法的一个调用。“提取方法”还具有一定的智能,可以判断方法是否应该获取任何参数和返回值。   测试程序   1. 选择“调试”|“开始执行(不调试)”,Visual Studio 将生成程序,并运行它。运行时会显示一个控制台窗口。   2. 在Enter Your Daily Rate(输入日费率)提示之后,请输入,然后按回车键。   3. 在Enter The Number Of Days(输入天数)提示之后,请输入,然后按回车键。   程序会在控制台上显示以下消息: The consultant's fee is: .5   按回车键返回Visual Studio 编程环境。   在最后一个练习中,将使用Visual Studio 调试器,以比较慢的步调来运行程序。你将看到每个方法被调用的时刻(这个行动称为跳入),并看到每个return语句如何将控制返还给调用者(这个行动称为跳出)。进入和离开方法时,都需要使用“调试”工具栏上的工具。然而,在调试模式中运行应用程序时,相同的命令也可从“调试”菜单中选择。   使用Visual Studio 调试器依次执行每个方法   1. 在“代码和文本编辑器”窗口中,找到run方法。   2. 使鼠标指针对准run方法中的第一个语句。   run方法的第一个语句是: double dailyRate = readDouble("Enter your daily rate: ");   3. 右击该行的任何地方,从弹出菜单中选择“运行到光标处”。   程序将开始运行,并在抵达run方法的第一个语句之后暂停。“代码和文本编辑器”窗口左侧的一个黄色箭头指明了当前语句,该语句还会用一个黄色背景来突出显示。   4. 选择“视图”|“工具栏”,确定已经勾选了“调试”工具栏。“调试”工具栏也许会停靠在其他工具栏旁边。如果找不到这个工具栏,可以试着使用“视图”菜单中的“工具栏”命令暂时隐藏它,并留意哪些按钮从界面上消失了。重新显示这个工具栏,就可以知道它应该在什么位置出现。   提示 要想将“调试”工具栏独立出来,请使用工具栏左侧的控点,把它拖放以“代码和文本编辑器”窗口上方。   5. 单击“调试”工具栏上的“逐语句”按钮。这个行动会使调试器跳入正在调用的方法。左侧的黄色箭头会指向readDouble方法的起始大括号。再次单击“逐语句”按钮,指针会转向第一个语句:Console.Write(p);   提示 按F键的作用等同于单击“调试”工具栏上的“逐语句”按钮。   6. 单击“调试”工具栏上的“逐过程”按钮。这会导致方法执行下一个语句而不调试它。黄色箭头将指向方法的第二个语句,程序会在一个控制台窗口中显示“Enter Your Daily Rate”提示(控制台窗口可能隐藏在Visual Studio 后面)。   提示 按F键的作用等同于单击“调试”工具栏上的“逐过程”按钮。   7. 单击“调试”工具栏上的“逐过程”按钮。这一次,黄色箭头会消失,控制台窗口将获得焦点,因为程序正在执行Console.ReadLine方法,要求用户输入一些内容。   8. 在控制台窗口中输入,按回车键继续。   随后,控制将返回Visual Studio 。黄色箭头将在方法的第三行出现。   9. 不要做出任何单击行动,请将鼠标指针移至方法第二行或第三行对line变量的引用上(具体对准哪一行无关紧要)。   随后会出现一条屏幕提示,它显示了line变量的当前值()。利用这个特性,可以确定在逐方法执行的时候,变量已经设置成自己期望的一个值。   . 单击“调试”工具栏上的“跳出”按钮。   这会导致当前方法继续无中断地运行,直到结束。当readDouble方法执行完毕之后,黄色箭头会指回run方法的第一个语句。   提示 按Shift + F键的作用等同于单击“调试”工具栏上的“跳出”按钮。   . 单击“调试”工具栏上的“逐语句”按钮。   黄色箭头会移至run方法的第二个语句: int noOfDays = readInt("Enter the number of days: ");   . 单击“调试”工具栏上的“逐过程”按钮。   这一次,选择了直接运行方法,而不逐语句地调试该方法。控制台窗口将再次出现,提示输入一个天数。   . 在控制台窗口中输入,按回车键继续。   控制将返回至Visual Studio 。黄色箭头将移至run方法的第三个语句: writeFee(calculateFee(dailyRate, noOfDays));   . 单击“调试”工具栏上的“逐语句”按钮。   黄色箭头将跳至calculateFee方法的起始大括号处。该方法将先于writeFee方法被调用。   . 单击“调试”工具栏上的“跳出”按钮。   黄色箭头将跳回run方法的第三个语句。   . 单击“调试”工具栏上的“逐语句”按钮。   这一次,黄色箭头将跳至writeFee方法的起始大括号处。   . 让鼠标指针对准方法定义中的p变量。   随后将显示p的值(.0)。   . 单击“调试”工具栏上的“跳出”按钮。   随后会在控制台窗口中显示消息“The consultant's fee is: .5”(如果控制台窗口隐藏在Visual Studio 之后,请把它带到前台来显示)。黄色箭头将返回run方法的第三个语句。   . 单击“调试”工具栏上的“继续”按钮,使程序连续运行,而不在每个语句处暂停。   应用程序将一直运行至结束。   提示 还可以按F5键在调试器中继续执行。   恭喜!你已经成功编写并调用了方法,并利用Visual Studio 调试器对它们进行了调试。

推荐整理分享C#编写方法实例(c#代码怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

C#编写方法实例(c#代码怎么写)

文章相关热门搜索词:c#代码怎么写,c#编程实例100篇,c#编写程序,c#编写程序,c#示例,c#简单例子,c#编程实例100篇,c#编写程序,内容如对您有帮助,希望把文章链接给更多的朋友!

mysql仿asp的数据库操作类 ?phpclassMySQLDB{//MYSQL数据库操作类//作者:熊毅//版本:2.0(发行版)查询数据时Query后可以用GetValue得到相应的值,既可以是字段名也可以是已0开始的序号

MySQL5.0存储过程教程 希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。为了达到这样的目的,我会从每一个细节开始慢慢的为大家建

MySQL取出随机数据 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了SELECT*FROMtable_nameORDERBYrand()LIMIT5;rand在

标签: c#代码怎么写

本文链接地址:https://www.jiuchutong.com/biancheng/319888.html 转载请保留说明!

上一篇:C#列出局域网中可用SQL Server服务器(c#获取局域网ip)

下一篇:mysql仿asp的数据库操作类(asp 数据库)

  • 进项税额转出的几种情况会计分录
  • 不征收增值税的有哪些
  • 个体经营所得税核定征收2023标准
  • 劳务费专票需要备注吗
  • 闲置土地归谁管理
  • 筹建期间取得的专用发票怎么入账
  • 预收账款核销的流程
  • 无偿划转财政厅
  • 海关增值税进项转出
  • 税务年报多少钱
  • 总账中余额为负怎么写
  • 退货但发票不冲销
  • 短期投资所得收入需要交税吗?
  • 公司转账给公司会计分录
  • 成立分公司总公司有什么影响
  • 多付工资计入哪个科目
  • 采用审计软件有什么优缺点
  • 金融企业呆账准备金是否允许补提
  • 公司名下的房产出租需要交哪些税
  • 红利抵免的用法是什么
  • 月末进项税额结转会计分录
  • windows11结束任务快捷键
  • 在标题栏显示完整页面
  • 污水处理费该谁交
  • PHP:mb_stristr()的用法_mbstring函数
  • 预收外汇如何结汇
  • 借款成坏账了怎么处理
  • 增值税发票半年后能冲红
  • 缴纳住房公积金分录
  • 增值税发票可以抵扣多少
  • 查询数据库的7个标准步骤
  • 睡莲怎样养
  • 今日七夕祝福语
  • uniapp怎么引入elementui
  • node.js安装步骤
  • node.js的安装和配置
  • 季报弥补亏损,财报怎么填
  • 库存现金借方发生额怎么计算
  • 改造后的固定资产入账价值
  • 代订饭店
  • 企业法人名下的产业多了是好事吗
  • 交哪些费用
  • 同城票据交换原理
  • 公司注销其他应付款法人借款
  • 收到预付卡的发票是否可以报销呢?
  • 企业发生的各项罚款收入应计入
  • 预付账款的账务处理视频教程
  • 增值税专用发票开票压线了可以吗
  • 经营活动产生的现金流量净额越大越好吗
  • 旅游服务住宿费公司不给报销
  • 公司员工抽奖活动
  • 发票抬头是个人税号怎么填
  • 注销企业基本户销户规定
  • 企业包装物核算范围
  • mysql高级功能
  • sqlserver数据库和mysql区别
  • win2003远程桌面最大连接数
  • iis如何重新配置
  • cmd命令怎么进入d盘文件夹
  • ubuntu20.04
  • ubuntu的root
  • CentOS 6.2(32位/64位) 安装步骤图文详解
  • xp系统登陆界面切换用户
  • win7系统安装谷歌浏览器
  • Win10 Mobile 14342.1004快速预览版更新 提升电池续航
  • 关于我和鬼变成家人的那件事
  • bootstrap和jsp
  • 深入分析的成语
  • Html5+jQuery+CSS制作相册小记录
  • node 连接sqlserver
  • node.js deno
  • document.write与writeln的输出内容区别说明
  • jquery遍历元素并赋值
  • staticlayout 换行
  • 用js实现类的方法
  • 如何查询企业税务情况
  • 黑龙江省国家税务局通用定额发票
  • 广西教师初级职称申报时间
  • 资源税的征税范围一般包括
  • 湖北省国家税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设