[基础篇] 玄机网C#培训课程-初级.
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()
{
}
}
[基础篇] 玄机网C#培训课程-初级.的更多相关文章
- 图解Python 【第五篇】:面向对象-类-初级基础篇
由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节主要讲基础和面向对象的特性 本节内容一览图: 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 ...
- python面试题库——1Python基础篇
第一部分 Python基础篇(80题) 为什么学习Python? 语言本身简洁,优美,功能超级强大,跨平台,从桌面应用,web开发,自动化测试运维,爬虫,人工智能,大数据处理都能做 Python和Ja ...
- [译]RxJS 5.X基础篇
欢迎指错与讨论 : ) 当前RxJS版本:5.0.0-beta.10.更详细的内容尽在RxJS官网http://reactivex.io/rxjs/manual/overview.html.文章比较长 ...
- 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)
http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) ...
- 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)
http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...
- 【转载】 Spark性能优化指南——基础篇
转自:http://tech.meituan.com/spark-tuning-basic.html?from=timeline 前言 开发调优 调优概述 原则一:避免创建重复的RDD 原则二:尽可能 ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
- 【转】Spark性能优化指南——基础篇
http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&sn=2f413828d1fdc6a ...
- DOM系列---基础篇
DOM系列---基础篇 DOM (Document Object Model) 即文档对象模型, 针对 HTML 和 XML 文档的 API (应用程序接口) .DOM 描绘了一个层次化的节点树, ...
随机推荐
- cvpr2015总结
cvpr所有文章 http://cs.stanford.edu/people/karpathy/cvpr2015papers/ CNN Hypercolumns for Object Segmenta ...
- LinuxC下获取UDP包中的路由目的IP地址和头标识目的地址
在接受到UDP包后,有时候我们需要根据所接收到得UDP包,获取它的路由目的IP地址和头标识目的地址. (一)主要的步骤: 在setsockopt中设置IP_PKTINFO,然后通过recvmsg来获取 ...
- AJPFX:外汇的点差和点值
外汇“点差”就是交易商买卖货币之间产生的差值. 要了解点差我们先解释一下“点”的含义:为了精确和方便地表示汇价,一般用5位数字表示,其中最小变化的单位就称为"点".例如:英镑美元货 ...
- “全栈2019”Java多线程第三十六章:如何设置线程的等待截止时间
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 下一章 "全栈2019"J ...
- re模块 模块
import re findall() 烦的奥 import re # 1. findall 查找所有结果,数据不是特别庞大 lst = re.findall('a','abcsdfasdfa') ...
- atomic write pipe
阅读 skynet 代码 socket_server 部分,发现对 socket 的写操作流程是这样的: 1. 各个服务(各线程)将数据写到 sendctrl_fd,这是一个 pipe 的 写端 2. ...
- Spring Boot使用@Async实现异步调用:自定义线程池
前面的章节中,我们介绍了使用@Async注解来实现异步调用,但是,对于这些异步执行的控制是我们保障自身应用健康的基本技能.本文我们就来学习一下,如果通过自定义线程池的方式来控制异步调用的并发. 定义线 ...
- SQL Server 用户'NT AUTHORITY\IUSR' 登录失败
今天打开网站时,突然报这个错误,平时都好好的 Cannot open database "JMECC" requested by the login. The login fail ...
- python学习笔记16-装饰器
装饰器(函数) 1.函数作用域 2.高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式. 3.闭包 闭包就是能够读取其他函数内部变量的函数. 在本质上,闭包 ...
- vue路由router的三种传参方式
方法三: 传参页面传递参数方式: this.$router.push({ path: 'indexTwoDetails', query: { "id": id } }) 接受参数页 ...
