0x01第一课课前准备
vs的选择与安装
常用工具/网址 http://msdn.itellyou.cn/
vs常用设置
0x02第二课
C#的语法样式
编程风格
VS的常用功能
俩个注意点:
1.AutoSizeMode设置为GrowAndShrink(不显示可以改变大小的箭头)
2.如果希望实数被视为 decimal 类型,请使用后缀 m 或 M,例如:
decimal myMoney = 300.5m;如果希望实数被视为 float 类型,请使用后缀 f 或 F,例如:
decimal myMoney = 300.5f;
3.属性,字段,事件,方法,注释
0x01第一课课前准备
vs的选择与安装
推荐vs2010 理由(XP,Win7,Win8均支持)
cn_visual_studio_2010_ultimate_x86
vs2010下载地址
ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|/
C# 介绍
它是微软开发的.他需要一个运行环境.
需要.net Framework(类库集合/必须的环境支持) 的支持
变量的类型 变量的名称 =(赋值) 值
常用工具/网址
英汉词典
VMware 虚拟机
UE/notepad++
Chrome浏览器
一个必须记住的网址: http://msdn.itellyou.cn/
vs常用设置
输入法,字体,行号,解决方案,属性页, 工具箱等…
0x02第二课
1 初遇.(讲解C#的语法样式,编程风格,以及VS的常用功能等等)
1.0 vs 工具箱(常用组件)的使用
1.1常用控件的使用,(按钮,文本框,标签,单选框)
控件:
Name 属性,
如何访问到按钮这个元素(btn)
Text 属性
在界面上显示这个元素的文本.(button1/这是一个按钮)
在C#中一个变量的生命方式为:
变量的类型 变量的名称 =(赋值) 值
赋值 将等号右边的值赋给左边.
字符串在C#中 字符串使用两个双引号表示 “ ”
每一句书写完成后,使用封号结尾(“;”)
布尔类型 True(真) / False(假)
//注释
整数型 int age = 10; //带符号的整数
浮点型 float f = 1.111111111f; //单精度小数
double d = 0.00002; //双精度
decimal dec = 0.11111111111111111111111111111111M; //精度要求很高时
日期型 DateTime.Now 标签_时间.Text = DateTime.Now.ToString();
//当前时间
字符型 char c = '1'; //字符型
在C#中 变量名可以是中文.但是不推荐使用中文作为变量名
1.1 属性,字段,事件,方法.注释,折叠vs快捷键介绍.
蓝色小方块 à 字段
黄色小手 à 属性
绿色 结构
类
委托
枚举
代码段
0x03第三课
1.2 流程控制
额外的知识:
信息框.
//ctrl + e + c 注释选中
//ctrl + e + u 解除注释
触发代码段都由两次(TAB/回车)触发.
#region if 例子 使代码可折叠 快捷键 ctrl + k + s 选择第二项 region
#endregion
MessageBox.Show("你好.我是君临"); 信息框 代码段 快捷键 mbox(mb也生效)
.lengh 属性 用来获取某个字段的长度.从1开始计数
Convert.ToInt32(txt_Test.Text); 数字转换函数. String - > int
int.Parse() 与Convert.ToInt32一样.
- -> 选择结构
– if、条件判断语句 (布尔类型)
if(true) // 如果 (真)
…….
– if-else、 // 如果-否则
– if(true)
– {
–
– }else
– {
– }
– if-else if
–
– switch-case
- case 4: 特殊用法
- case 5:
0x04第四课
-> 循环结构
额外知识:
//索引 在C#中[0] 代表索引 [""]
在C#中表示代码的作用域是”{ }” ;
//var 他可以被代表任何格式 ,他的格式取决于给他赋的什么值 var a = 0; var a = "0"; var a = 'a';
– While、 (无限循环)
–
– do-while
forint a,i;a = ++i(i=i+1),相当于 先执行 i=i+1; 然后执行a = i;
a = i++(a=i),相当于 先执行 a = I; 然后执行 i=i+1;其实没有什么好纠结的,平时用++i也很少;大家知道有这种语法就好.–
foreach //从collection(集合/数组)中取出一个值并且声明一个var类型的变量来接收这个值
- 数组
- int[] a = new int[1];// 声明了一个整数型数组并且将数组的大小固定
- a[0] = 1; //正确
- a[1] = 2; //错误 错误原因 : 下标越界
- 使用数组中需要注意的地方:
- 你可以先声明一个数组但是你使用的时候必须要初始化数组,必须要给他指定数组的长度.否则造成的后果只有两个:
- 第一个情况 new 这个关键字就是初始化对象用的.如果你没有初始化变量和你没有对它赋值时,那么你声明的对象就为 null ->不知道是什么意思.
- 第二个情况 : 你没有指定数组的长度(指定了长度).这时候你往数组中添加数据时(超过长度),将会出现 下标越界的异常信息.
在数组中,索引都是从0开始计数.
0x05第五课
额外的:
i == 10 在C#中比较两个变量/比较值时,使用两个等于号进行比较.
+= 在C#中偷懒的写法 等号左边的变量 = 等号左边的变量 + 等号右边的变量
- -> 跳转语句
– Break
- //break; 跳出最近的循环作用域 跳出最近的循环
– Continue
- // continue; //继续向下执行代码.继续执行最近的循环作用域
– Return
- //直接跳出最外层作用域 第一个功能
- -> 方法(Method)/函数(Function)
方法的(可视/访问级别)级别.
//方法的书写
// private 方法修饰符 void 表示方法的返回值 Add 方法名称
private void Add()
{
}
Void 关键字表示方法无返回值
在Void的位置写上类型时,表示当前方法将返回一个我指定的类型.
Return 第二个作用 将返回值返回.!
private void WriteI() //无返回值,无参数
private int WriteI2() //有返回值,无参数
private void WriteString(string str) //有参数,无返回值
private string WriteString2(string str) //有参数,有返回值
0x06第六课
常用字符串操作方法
额外知识:
Dock 界面布局时使用.
“\r\n” 表示一个换行符
初始化器 {}
n > 字符串的一些特性.
u 1,字符串是不可变的.
u 2,字符串是一个特殊的引用类型
引用类型 必须使用new来初始化对象. 可以是null(非官方)
u //值类型 对象不被初始化时就存在值,而且不用使用new关键字.
u //特殊 可空类型. 例: int? i = null;
n “”长度为0的字符串.它和null是有区别的.
u
n > 字符串的常用方法
u Substring
u 字符串截取(参数1,参数2)
l 参数1 表示字符串的起始位置(从0开始)
l 参数2 表示需要截取的长度.(从1开始计数)
u Split(‘x’) 按照char字符类型来进行分隔将字符串变成字符串数组
字符串类型来分隔的时候new string[]{"是"},StringSplitOptions.RemoveEmptyEntries
l 索引和长度必须引用该字符串内的位置。
l 参数名: length
l 错误引起的原因: 从当前位置取出超过长度的时候发生的.
l
IndexOf 搜索当前条件所在的位置
Remove [删除某个字符串/字符] [删除当前位置开始,删除的长度]
Replace 替换某个旧的字符串/字符,新的字符串/字符
0x07第七课
类库的使用
额外知识:
引入命名空间的快捷键:
Shift + Alt + F10 (单词必须全部写对.大写小写敏感)
Static 静态 (其他语言称之为全局变量.)直到程序结束后才会释放.
在静态类中,所有方法,字段等,都需要使用static来进行修饰,使用时,直接使用类名进行访问.
静态类中不允许有构造方法(函数)的存在.
它不用通过new 的关键字来初始化.直接可以使用.
类库: 通俗的讲就是封装了一大堆的方法供我们或者其他人调用..
单独的类库项目:会被编译成DLL(动态链接库.)
关键字: class
语法样式 class [关键字修饰符] 类名
类的声明方式:
MyClass m = new MyClass(); //引用类型
Private //私有的
public //公开
方法的重载: 相同的类名,不同的参数.
public void SayHellow(string Name)
{
}
public string SayHellow(string Name)
{
return "你好.";
}
相同点: 方法名相同,参数相同.
不同点: 返回值不一样
特别的方法:构造方法.
public class MyClass1
{
public MyClass1()
{
}
}