C#学习笔记(一)
C#特点:
- 面向对象
- 简单安全
- 与Web紧密结合
.NET的特征:
- 简单地开发和部署
- 统一的编程模型
- 提供健壮、安全的执行环境
- 支持多种编程语言
- 丰富的类库支持
公共语言运行时(Common Language Runtime,简称CLR)
1、设计目标:
- 简化开发:安全性、内存管理(相当于指针,但解决了忘记释放内存的困扰)
- 简化应用程序部署
- 基类库
- 支持多种语言
2、相当于JAVA的虚拟机
3、编译和执行
.C#中Exe文件中的内容:
- IL指令(Intermediate Language)
- 元信息
反编译工具:ildasm.exe
C#快速入门
用VS设计WinForm程序
- 界面设计
1、插入对象:在工具箱中单击要用的工具
2、设置属性:右击设置属性
- 程序代码
F7或者双击代码填写代码
- 运行
点启动或者F5
- 保存
1、程序为.cs文件
2、项目文件.csproj
3、解决方案.sln
4、其他辅助文件
面向对象程序的核心概念
对象
1、属性(property):表示的是对象的一种状态,如labell.Text,BackColor。
改变文本名称以及背景颜色
private void button2_Click(object sender, EventArgs e)
{
this.Text = "这是一个应用程序";
this.BackColor = Color.FromArgb(255, 255, 0);
}
2、方法(method):表示的是一种动作,如:MessageBox.Show("hello");
将label移动到指定位置
private void button2_Click(object sender, EventArgs e)
{
this.Text = "这是一个应用程序";
this.BackColor = Color.FromArgb(255, 255, 0);
this.label1.SetBounds(100, 100, 200, 50);
}
3、事件(event):表示对象与外界的通知地址或者消息地址,如:Click
+=表示注册了一个事件,比如:事件+=函数。
鼠标移动事件:鼠标移动时在lable的位置显示鼠标的坐标位置。
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
this.label1.Text = e.X + "," + e.Y;
}
C#其他例子
1、在上面的文本框中输入字母时,下面也会进行一样的操作。
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = textBox1.Text;
}
2、当点击button1时,label1向右边移动10,并且颜色随机变换。
3、上例中改为不点击,label自动变化。
工具箱组件中有一个timer(定时器),将它拖到窗口中,将上述代码拖到timer函数中。设置属性中的Enabled即使能,Interval为时间间隔。如下图。
4、按下button时,将文本框中输入的字母转化为大写输出在label中
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = this.TextBox1.Text.ToUpper();
}
C#写出的常见的应用程序类型
- 控制台程序
- Windows应用程序:WPF程序
- Web应用程序:Mobile应用程序
好处:这几种应用程序只是编写环境不同,而编写代码几乎是一样的,所以编写的代码不用做太多修改就可以应用到不同的环境中去。
1、控制台应用程序
static void Main(string[] args)
{
Console.WriteLine("Hello");
}
注意:(1)按control+F5可以持续显示运行结果。
(2)代码开头using 名称空间,比如using System。本来后面的代码是System.Console,在开头使用了名称空间后面就可以简写。
- 程序的基本组成部分是类(class)。
- Main()是程序的入口,固定的书写格式:public static void Main(string[] args) 可以没有public,也可以没有string[] args。
- 或者按SVM键,再按两次Table即可生成Main。
2、Windows应用程序
- 又称WinForm应用
- VS.NET设计程序:(1)可视化的设计窗体(2)事件驱动的编程机制
3、Web应用程序
- 在.NET中也称为ASP.NET应用程序。
- 应用程序在服务器上运行,客户端使用浏览器(如IE)来进行输入输出这种方式称为B/S方式(Browser/Server)方式。
注意:(1)与传统的C/S(Client/Server)相区别。
(2)B/S应用程序在使用、部署上有独特的优势。
步骤:新建——>Web里面的VS——>建一个空的web程序——>右击右侧的工程——>添加web窗体——>写代码或者点击设计同Windows——>点浏览器运行
程序中的输入与输出
1、计算平方根
private void button1_Click(object sender, EventArgs e)
{
double a = double.Parse(textBox1.Text);
double result = Math.Sqrt(a);
label1.Text = a + "的平方根是" + result.ToString();
}
2、控制台的输入与输出
static void Main(string[] args)
{
string s = "";
Console.Write("Please input a line: ");
s = Console.ReadLine();
Console.WriteLine("You have entered: {0}", s);
}
题目
1、按惯例,C#中的属性、方法、事件的首字母都大写 正确
2、编写事件,可以在属性窗口中找到“闪电”图标 正确
3、using名字空间的好处是后面可以简写 正确
4、一般说来,属性都是名词或形容词 正确
5、方法一般都用动词 正确
6、使用哪个函数可以修改颜色? FromArgb()
7、随机数是用什么对象表示的 Random
8、切换到代码窗口按快捷键 F7
9、解析实数,可以用double的什么方法
10、求平方根,可以用哪个函数 sqrt
11、计时器控件的时间间隔是用哪个属性表示的 Interval
12、解析整数,可以用int的什么方法 Parse
13、可以用哪个类表示数学相关的函数 Math
14、生成Main的方法,是按哪三个键,再按两次Table SVM