好吧~由于个人转行,又要开始学一门新的语言了,C++++哈哈
听说和Java还是比较类似的,那就定个小目标,在半个月内把C#学到能跟上同事节奏吧
OK,开始
1. 计算器Form(面向过程)
首先,自己先试着写一个面向过程计算器的Form吧
创建一个窗体文件,VS左侧有工具箱,可以添加窗口控件
拉入TextBox作为输入两数(如两个加数)的文本框和输出结果的文本框,可以在Text中修改预定值
拉入Label,属性中Text改为“+”和“=”
再拉入一个button作为计算按钮
一个很丑陋的界面就出现了
双击button,跳到cs文件中,在button1_Click方法中写入相应的执行代码
//首先要说明的是,我把第一个加数文本框的Name改为了txtNum1,依次类推
private void button_Click(object sender,EventArgs e)
//这个就是当你按下按钮的时候会触发的控件相应函数
//参数中的sender(一个对象)作用是获取触发控件的事件,就是“谁在召唤我”
//EventArgs e传递的是事物数据类的基类,用于传递细节,就是“召唤我作甚”
{
int num1 = Convert.ToInt32(this.txtNum1.Text.Trim());
//这里一大堆是用来类型转换的
//由于在第一个文本框中输入的是String(字符串类型),但是String类型不能直接进行运算
//所以要转换为int(整数类型)
//这里就用Convert类来实现,ToInt32,就是用Convert类里的转换为整型方法
//括号里面的参数就是你要转换的那个字符串
//this指你当前编辑的那个窗口,txtNum1就是你窗口里叫txtNum1的那个控件
//Text是那个控件里显示的字,Trim()函数是删除开始和结尾的空格,保留中间的字
int num2 = Convert.ToInt32(this.txtNum2.Text.Trim());
//和上面的一样
int result = Add(num1,num2);
//定义一个叫result的变量,接受Add函数的结果(Add我自己在下面定义了)
this.result.Text = result.ToString();
//这个窗口里叫result的控件的Text值,用上面一行result的结果来替换
//在替换(赋值)前转为String类型
}
private int Add(int a,int b)
//定义一个函数,传入两数,返回两数之和
{
return a + b;
}
然后一个很丑陋很简单的加法计算器界面就实现了:
2. 计算器Form(面向对象)
窗体的建立都是一样的,只不过需要在当前解决方案里新建一个类库(有点像Java的包)
假设就叫Mycal,里面包含了Calcu类
在主类中右击引用添加这个Mycal
把加法转移到Calcu中
namespace Mycal
{
public class Calcu
{
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b)
{
return a + b;
}
}
}
然后回到刚刚的Form类中,发现,会报错
这是因为即使建立引用之后,还是不能直接使用其他命名空间,不然你想啊,运行一个程序,先把其他命名空间的所有函数先调查一遍,时间花费太多啦
那么,就采用建立对象的方式
private Mycal.Calcu cal = new Mycal.Calcu();
//这样就建立了对象
//Mycal是命名空间名字,Calcu是类名,cal是这个对象的名字
//等号右边,new就是新建一个对象,新建对象属于Mycal里面的Calcu()
//这里应该是有个被省略的构造函数,咱先不管那么多
private void button1_Click(object sender, EventArgs e)
{
int num1 = Convert.ToInt32(this.txtNum1.Text.Trim());
int num2 = Convert.ToInt32(this.txtNum2.Text.Trim());
int result =cal.Add(num1,num2);
//这里要用Add,那么就说,我要调用cal这个对象的Add,就不用把其他项目文件全部检索一遍
//只需要检索cal里面的方法了
this.result.Text = result.ToString();
}
ok,以上就是以面向过程和面向对象的角度,建立一个简单的加法计算器的过程