免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:Convert.ToInt32 参数为 null 时,返回 0; int.Parse 参数为 null 时,抛出异常。 Convert.ToInt32 参数为 时,抛出异常; int.Parse 参数为 时,抛出异常。 Convert.ToInt32 可以转换的类型较多; int.Parse 只能转换数字类型的字符串。 int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0。退出按钮的语法private void quitClick(object sender, RoutedEventArgs e) this.Close(); 例: private void divideValues() int lhs = int.Parse(lhsOperand.Text); int rhs = int.Parse(rhsOperand.Text); int outcome; outcome = lhs / rhs; expression.Text = lhsOperand.Text + / + rhsOperand.Text; result.Text = outcome.ToString(); 解析:文本框控件的Text属性包含的是字符串,必须将字符串转换为整数。ToString是 .NET Framework 中主要的格式化方法。它将对象转换为其字符串表现形式,使它适合于显示。.NET Framework中的每一个类都有一个ToString方法,用途是将一个对象转换为相应的字符串形式。private void calculateClick(object sender, RoutedEventArgs e) try if (bool)addition.IsChecked) addValues(); else if (bool)subtraction.IsChecked) subtractValues(); else if (bool)multiplication.IsChecked) multiplyValues(); else if (bool)division.IsChecked) divideValues(); else if (bool)remainder.IsChecked) remainderValues();/IsChecked表示是否被选中 catch (Exception caught) expression.Text = ; result.Text = caught.Message; 抛出异常:如果try中的命令执行条件都不满足的话,就执行catch,而不执行try中的语句,则表明没有选择运算方法,所以expression没有为空。而result.Text = caught.Message;为通用抛出异常语句。例:int x = 42; Console.WriteLine(x+); int y = 42; Console.WriteLine(+y); Console.ReadLine();结果:解析:在表达式x+中,它首先返回x的值,再执行+;再+y中,首先执行+,再返回y的值。例:var myVariable = 99;var myOtherVariable = “Hello”;解析:从例中可以看出,我们并没有具体声明myVariable和myOtherVariable的类型,只是用var代替,但是却可以用var根据后面的赋值来推算这个类型。这两个变量被称作隐式类型变量。var只是在声明变量的时候可以为我们提供一些方便,但是当变量一旦声明完后,就只能将编译器推断的这种类型的值赋给它。建议:除非万不得已,不要使用隐式变量,还是用显式变量。方法:void show(int x)return;/该语句可要可不要。private int addValues(int leftHandSide, int rightHandSide) expression.Text = leftHandSide.ToString() + + + rightHandSide.ToString(); return leftHandSide + rightHandSide; 改进上面例子的方法,由不返回值变成返回值的方法。可以省去int outcome语句,而result则被单独编写为一个方法,故此可以省略大量语句。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace MathsOperators / / Interaction logic for MainWindow.xaml / public partial class MainWindow : Window public MainWindow() InitializeComponent(); private void calculateClick(object sender, RoutedEventArgs e) int calculatedValue = 0; try int leftHandSide = System.Int32.Parse(lhsOperand.Text); int rightHandSide = System.Int32.Parse(rhsOperand.Text); if (addition.IsChecked.HasValue & addition.IsChecked.Value) calculatedValue = addValues(leftHandSide, rightHandSide); showResult(calculatedValue); else if (subtraction.IsChecked.HasValue & subtraction.IsChecked.Value) calculatedValue = subtractValues(leftHandSide, rightHandSide); showResult(calculatedValue); else if (multiplication.IsChecked.HasValue & multiplication.IsChecked.Value) calculatedValue = multiplyValues(leftHandSide, rightHandSide); showResult(calculatedValue); else if (division.IsChecked.HasValue & division.IsChecked.Value) calculatedValue = divideValues(leftHandSide, rightHandSide); showResult(calculatedValue); else if (remainder.IsChecked.HasValue & remainder.IsChecked.Value) calculatedValue = remainderValues(leftHandSide, rightHandSide); showResult(calculatedValue); catch (Exception caught) expression.Text = ; result.Text = caught.Message; private int addValues(int leftHandSide, int rightHandSide) expression.Text = leftHandSide.ToString() + + + rightHandSide.ToString(); return leftHandSide + rightHandSide; private int subtractValues(int leftHandSide, int rightHandSide) expression.Text = leftHandSide.ToString() + - + rightHandSide.ToString(); return leftHandSide - rightHandSide; private int multiplyValues(int leftHandSide, int rightHandSide) expression.Text = leftHandSide.ToString() + * + rightHandSide.ToString(); return leftHandSide * rightHandSide; private int divideValues(int leftHandSide, int rightHandSide) expression.Text = leftHandSide.ToString() + / + rightHandSide.ToString(); return leftHandSide / rightHandSide; /private void divideValues() / / int lhs = int.Parse(lhsOperand.Text); / int rhs = int.Parse(rhsOperand.Text); / int outcome; / outcome = lhs / rhs; / expression.Text = lhsOperand.Text + / + rhsOperand.Text; / result.Text = outcome.ToString(); / private int remainderValues(int leftHandSide, int rightHandSide) expression.Tex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文第四单元教学反思报告
- 投标人竞争优势分析报告模板
- 房地产项目开发合同范本及解读
- 污水处理项目可行性分析报告
- 烤鱼行业的现状分析报告
- 鞋类制造行业前景分析报告
- 牙科行业概况分析报告
- 空调行业竞争因素分析报告
- 劳务行业链路分析报告
- 家居清洗服务合同协议范本
- 2025年沈阳辅警招聘考试真题及一套参考答案详解
- 花中四君子课件
- 2025年榆林旅投集团招聘(25人)笔试考试参考题库附答案解析
- 设备维护保养方案及设备更新改造计划
- 国网安全技术培训课件
- 2025至2030军用便携式雷达系统行业产业运行态势及投资规划深度研究报告
- 二十届四中全会测试题及参考答案
- ISO9001-2026质量管理体系中英文版标准条款全文
- 国开(四川)2025年《数字与图像处理》形考作业1-2终考答案
- 2025及未来5年中国水电解氢氧发生器市场调查、数据监测研究报告
- 普通话拼音发音技巧大全
评论
0/150
提交评论