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 ...
随机推荐
- mysql数据库中,通过mysqldump工具仅将某个库的所有表的定义进行转储
需求描述: 在研究mysqldump工具的使用,想的是如何将某个库下的,或者某个表的表的定义(表结构创建语句)进行转储 操作过程: 1.通过--no-data参数,就可以将某个库的表定义进行转储 [m ...
- ios开发之--新手引导页的添加
以往在写启动页面的时候,有时候会直接在启动页里面写,或者自带的vc里面直接写,但是那样并不是很方便,启动页里面往往会添加很多的东西,所以封装成一个单独的类,可以直接使用,即便是后期的更换,或者是其他的 ...
- swift - UISegmentedControl 的用法
一.创建控件,并监听控件选择值 /*选项除了文字还可以是图片 as关键字的作用就是字面意思:类型转换*/ let items = ["选项一", "选项二", ...
- python2.0_s12_day11_SqlAlchemy使用介绍
SqlAlchemy ORM ORM的解释; 简单点:对象关系映射. 需求:我们写一个主机管理,把主机信息存在数据库,一开始我们编程不熟练的时候,执行命令时候要调用数据库,会把相应的SQL语句写到代码 ...
- 更改嵌入式Linux中开机画面----左上角小企鹅图标
一直想给嵌入式仪表加个开机LOGO,但是没有找到更换的方法.最近在网上收集了一些文章,整理一下一共自己参考.目前也还没有试过这种方法究竟是否可以.但察看Kernel源代码可以知道,Linux-2.6的 ...
- Java环境变量中classpath是必须配置吗
设置环境变量在java 中需要设置三个环境变量(1.5之后不用再设置classpath了,但个人强烈建议继续设置以保证向下兼用问题)JDK安装完成之后我们来设置环境变量:右击“我的电脑”,选择“属性” ...
- nested exception is org.springframework.beans.factory.BeanCreationException: 不能注入对象 创建对象失败 spring
[出现错误的背景] 在使用Spring+SpringMVC+Mybatis SSM集成框架时,服务器启动就会报错. [错误根源] XML配置错误. [解决方案] 第一步.查找springmvc.xml ...
- Delphi的保存文件对话框-TsaveDialog
TsaveDialog继承于TOpenDialog,只介绍以下几个内容: 1.TsaveDialog如何设定为保存的默认路径是当前程序所在的文件夹: 默认目录是当前程序所在目录应设置属性Initial ...
- 【jdk源码学习】HashMap
package com.emsn.crazyjdk.java.util; /** * “人”类,重写了equals和hashcode方法...,以id来区分不同的人,你懂的... * * @autho ...
- POJ3259-负权回路判定
题目:http://vj.acmclub.cn/contest/view.action?cid=316#problem/E 首先要理解题意:其实就是给你一个图让你判断有没有负权回路 因此直接用Ball ...