C#基础整理(一)
1、什么是.net?
.net有.net平台和.Net Framework框架。
.net平台是包含.net framework框架。
framework框架提供稳定的运行环境来保证基于.Net平台开发的各种应用正常运转。
2、什么是C#?
C#是一种编程语言,可以开发基于.net平台的应用。
3、.net可以做什么?
桌面应用程序 winform
internet应用程序 asp.net
手机开发 wp8
unity3d游戏开发或虚拟现实
4、.net两种交互模式
C/S 客户机/服务器模式
B/S 浏览器/服务器模式
5、转义符
'\'+一个特殊字符=具有特殊功能的字符
\n 换行
\r\n windows操作系统不能用\n,只能用\r\n
\" 英文半角的双引号
\t tab键的空格
\b 退格键,放字符串两边没效果。
\\ 表示一个\
6、@符号
①取消\在字符串中的转义作用,就只表示为一个'\'
②将字符串按照编辑的原格式输出
7、类型转换
①int->double 隐性类型转换(直接转换)
②double->int 显性类型转换(强制转换)
double s=2.5;
s2=(int)s;
8、类型的变量不兼容
string 与 int
string 与 double
可以使用convert的转换工厂进行转换。
string str = "123456";
int nums= Convert.ToInt32(str); //结果:nums=123456
9、运算符及表达式
①一元运算符
前++、后++ 只需要1个操作数 完成的运算
1)不论是前++还是后++,最终结果都是给这个变量+1。
2)表达式中,前++是先给这个变量自身+1,然后再带着这个+1的值去参与运算。
后++是先拿原值参与运算,运算完成后,再给这个变量自身+1。
②二元运算符
+-*/% 需要2个或以上操作数 完成的运算
表达式中既有一元又有二元,先算一元运算符
③三元表达式
语法:表达式1?表达式2:表达式3;
int max=A > B ? A : B;
表达式1一般为一个关系表达式。
如果A>B的值为true,那么A的值就是max的值。
如果A>B的值为false,那么B的值就是max的值。
注意:B的类型必须跟A的类型一致,并且也要跟整个Max的类型一致。
④关系表达式
>、<、==、>=、<=、!=
用关系运算符连接的表达式
⑤逻辑表达式
&&、||、!
用逻辑运算符连接的表达式
逻辑运算符两边放的一般都是关系表达式或bool类型的值。
⑥复合赋值运算符
+=,-+,*=,/=,%=
10、结构
顺序结构:程序从Main函数进入,从上到下一行一行的执行,不落下任何一行。
分支结构:if if-else
选择结构:if else-if switch-case
循环结构:while do-while for foreach
11、异常捕获 try-catch
①程序中经常出现各种各样的异常,如果不想程序老是奔溃,在代码中要经常用try-catch来进行异常捕获
②try-catch之间不能有其他代码。
③如果try中的程序没有异常,则catch中的代码不执行。如果try中的程序出异常了,哪怕这行代码后面还有100行代码都不会执行了,直接跳到了catch中执行代码。
12、变量的作用域
①变量的作用域就是你能使用这个变量的范围。
②变量的作用域一般从声明它,上面离它最近的那个括号开始到那个括号所对应结束的括号结束。
③这个范围内,我们可以访问并使用变量,超出就访问不到。
13、switch-case
用来处理多条件的定值判断。
语法:
switch (变量或表达式的值)
{
case 值1:要执行的代码;
break;
case 值2:要执行的代码;
break;
case 值3:要执行的代码;
break;
..........
default:要执行的代码;
break;
}
执行过程:程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。
如果跟每个case所带的值都不匹配。就看这个switch-case中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构什么都不做。
14、for循环
正序循环
for+tab键+tab键
for (int i = 0; i < length; i++)
倒序循环
forr+tab键+tab键
for (int i = length - 1; i >= 0; i--)
15.parse类型转换
convert转换失败会抛异常,它本质上调用的就是parse
s="123";
s2=int.parse(s);
TryParse是一个方法,会试着将一个string类型转为int类型,结果返回true或false
int num = 0;
bool b=int.TryParse("123abc",out num);
Console.WriteLine(b); //false
Console.WriteLine(num); //nums=0
16、continue 继续
continue一般和If配合使用,当满足某个条件时,回到循环条件来判断
和break的区别
continue:可以选择继续执行或者不执行循环,执不执行取决于循环条件是否成立
break:直接跳出循环
17、随机数
Random r=new Random();
int number=r.Next(1,11);//随机产生1-10之间的数赋值给number
C#基础整理(一)的更多相关文章
- 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法
这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- nutch的一些基础整理
nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
- JAVA基础整理-集合篇(一)
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...
- 关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)
JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应 ...
- C#基础整理
元旦整理书架发现一本小册子——<C#精髓>中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节 ...
- HTML5游戏开发技术基础整理
随着HTML5标准终于敲定.HTML5将有望成为游戏开发领域的的热门平台. HTML5游戏能够执行于包含iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是眼下跨平台应用开发的最佳实 ...
- js数组基础整理
首页: 主要整理了一下数组中常用的一些基础知识,代码都是自己手敲,有不对的地方希望能指出,目前只有4篇,后续会不断的增加这一板块. 由于少于100字不能发所以把一些最基本的创建数组也写上. // 创建 ...
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
随机推荐
- linux,shell脚本中获取脚本的名字,使用脚本的名字。
需求描述: 写shell脚本的过程中,有时会需要获取脚本的名字,比如,有的时候,脚本 中会有usage()这种函数,可能就会用到脚本的名字. 实现方法: shell脚本中,通过使用$0就可以获取到脚本 ...
- CUGBACM Codeforces Tranning 1 题解
链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=61581#overview 描写叙述:非常老的CF题,题不错,拿来训练正好. 做的时 ...
- MVC3--View层
Razor二义性: 1,当view层中出现 邮件格式时候比如 anbylau2130@qq.com 这种情况Razor将会出现多义性 可以使用@@来转义为一个@字符, 如:<p>y ...
- ios开发之--iOS 11适配:iOS11导航栏返回偏移
UIBarButtonItem 左边间隙过大,解决方案(ios11之前): 调用下面的方法,设置negativeSpacer.width = -15;就可以解决间隙过大的问题: UIBarButton ...
- pl/sql编程2-综合
案例1,要求:可以向book表添加书,并通过Java程序调用该过程1.1 创建表 ),publishHosuse )); 1.2 编写过程,无返回值 create or replace procedu ...
- C语言各种存储模式的区别?最常用的存储模式有哪些?
DOS用一种段地址结构来编址计算机的内存,每一个物理内存位置都有一个可通过段地址一偏移量的方式来访问的相关地址.为了支持这种段地址结构,大多数C编译程序都允许你用以下6种存储模式来创建程序: ---- ...
- mysql的if null 的用法
<!-- 查询 分页查询 --> <select id="queryByPageList" resultMap="weixinActivityResul ...
- Vitamio与FFmpeg、LGPL、GPL的关系
转自:http://sun.sanniang.me/2014/04/26/the-relationship-vitamio-with-ffmepg-lgp-gpl Vitamio 使用了 FFmpeg ...
- 浅谈MVC和MVVM模式
MVC I’m dating with a model… and a view, and a controller. 众所周知,MVC 是开发客户端最经典的设计模式,iOS 开发也不例外,但是 MVC ...
- AndroidのUI体验之上拉下拉
1.ScrollView监测是否滚动到顶部或底部 onScrollChanged(); 滚动到顶部判断:getScrollY() == 0 滚动到底部判断:getChildAt(0).getMeasu ...