C#入门
将之前的笔记记录在博客上
C#基础知识
主流语言的应用领域
C: 嵌入式硬件开发
C++: 游戏客户端、服务器、软件
C#: 游戏客户端、服务器、软件、网站
Java: 安卓、服务器、软件、网站
JavaScript: H5游戏、网站、服务器
PHP: 网站、服务器
Python: 网站、服务器、辅助开发
SQL: 数据库
Go: 服务器
Objective-C: 苹果(mac、ios)相关
Swift: 苹果(mac、ios)相关
开发环境搭建
IDE是什么
IDE(Integrated Development Environment )
集成开发环境
它就是一类用于程序开发的软件,这一类软件一般包括了代码编辑、编译器、调
试器、图形用户界面等等工具,只要安装了这种软件我们就可以进行程序开发了。
它的主要作用简单讲就是让计算机能识别你写的程序代码,能够响应你输入的代
码命令,听从你的指令和你进行交流。
常用的IDE(集成开发环境)软件
Visual Studio:一般Windows操作系统使用的软件都由它来进行开发,可用于开发基于C、C++、C#等等语言的软件;
Eclipse和IntelliJ IDEA:一般主要用于开发Java语言的相关软件;
Android Studio: 谷歌推出,主要用于开发安卓应用;
Xcode:苹果推出,主要用于开发苹果应用;
第一个应用程序
理解写代码这件事
通过写代码命令,不停的相互调用系统的或者自定义的一些API,让计算
机通过这些命令来执行一些行为,从而实现一些特定的需求。
比如说做游戏,通过代码相互调用,让图片能够显示在屏幕上,让图片能
够动起来
注释的三种方式
1.两杠注释:用于注释一行信息
2.星号注释:用于注释多行信息
3.三杠注释:用于注释类、命名空间等
快捷注释的方法
1.上方工具栏
2.快捷键
CTRL + K + C 注释
CTRL + K + U 取消注释
折叠代码
由#region #endregion配对出现
控制台输入打印语句
Console.Write():输出
Console.WriteLine:换行输出
Console.ReadKey:检测用户按下
Console.ReadLine:用户输入回车
变量
变量类型
有符号的整形变量
sbyte: -128-127(字节占1);
short: -32768-32767(字节占2);
int: -21亿-21亿多(字节占4);
long: -9百万兆-9百万兆(字节占8);
无符号的整数变量
byte:0-255(字节占1);
ushort: 0-65535(字节占2);
uint: 0-42亿多(字节占4);
ulong: 0-18百万兆(字节占8);
浮点型
float: (字节占4)存储7-8位有效数字,根据编译器不同,有效数字不一样,会四舍五入,后面加f;
double:(字节占8) 存储15-17位有效数字;
decimal:(字节占16)存输27-2位有效数字,不建议使用,后面加m;
特殊类型
bool:非真即假(字节占1);
char:存储单个字符(字节占2);
string:存储多个字符,没有上限(长度可变);
变量的本质
数据传递只能通过电信号,变量的本质是二进制,都是0和1,1bit(一位或者一个数)要不就是0又不就是1,而一个字节(byte)占8位,1byte=0000 0000
通过sizeof获取变量占用的内存空间(例如:sizeof(int);;
1byte=8bit;
1kb=1024byte;
1mb=1024kb;
1gb=1024mb;
1tb=1024gb;
进制转换(整数,左侧第一位表示符号)
十进制转二进制:不停除2;
二进制转十进制:从右往左看,该位不为0,则加上2的n次方(第一位为0);
命名规则
1.不能重名;
2.不能以数字开头;
3.不能是关键字;
4.不能有特殊符号(下划线除外);
驼峰命名法(变量)、帕斯卡命名法(函数、类)
常量
关键字const,必须初始化,不能被修改。
转义字符
是字符串的一部分,用来表示一些特殊含义,如单引号、引号、空行
固定写法
常用的转义字符
':单引号;
":双引号
\n:换行
\:斜杠
不常用的转义字符
\t:制表符(空一个tab键)
\b:光标退格
\0:空字符
\a:警告音
取消转义字符
在字符串前面加一个@(例如@”\你好")
类型转换
不同变量类型之间的相互转换
隐式转换
不同类型之间的自动转换,大范围转小范围
相同大类型之间的转换
特殊类型不存在隐式转换
不同大类型之间的转换
无符号和有符号之间
有符号的变量不能隐式转换无符号的;
无符号的变量隐式转换有符号的前提是范围一定是涵盖的;
浮点数和整数之间
浮点数可以转任何类型整数;
整数不能转换浮点型(不能存小数);
特殊类型和其他类型
char类型可以隐式转换成整数和浮点型(ASCII码);
bool和string不能和其他类型互相转换;
显示转换
手动转换。
括号强转
小范围转大范围,在前面加(),括号强转会出现问题和损失精度,bool和string不能用此转换。
Parse法
把字符串类型转换成对应类型,前提能转换,否则报错。
语法:变量类型.Parse(“字符串”)
Convert法
更准确的把各个类型之间转换,精度比括号转好,会四舍五入,前提是变量和常量必须正确。
语法:Convert.To目标类型(变量或者常量)
其他类型转string
作用:拼接打印;
语法:变量.ToString();
异常捕获
避免程序报错造成卡死
try{
}catch{
}finally{
}
运算符
算数运算符
赋值运算符:=
算数运算符:+ - * / %
复合运算符:+= -+ *= /= %=
自增运算符:a++(先用再加) ++a(先加再用)
运算符的优先级
1.乘除大于加减;
2.括号优先;
字符串拼接
方法一:+号拼接;
方法二:string.Format(“{0}”,18);
控制台打印拼接:支持类似方法二;
条件运算符
只要是数值就可以进行条件运算符比较大小等等,特殊类型只能与同类型进行==和!=比较(char不一样)。
条件运算符:> < == != >= <=;
逻辑运算符
逻辑运算符:&& || !
运算符优先级
!优先级最高,&&优先级高于||,逻辑运算符优先级低于算数运算符和条件运算符。
位运算符
位与:&(连接俩个数值进行位计算,转换成2进制计算,有0则0)
位或:|(有1则1)
异或:^(对位运算,相同为0,不同为1)
位取反:~(0变1,1变0,反码补码问题)
左右移:<<(左移几位,右边加几个0) >>(右移几位,右边去几个数)
三目运算符
语法:空位(bool类型)?空位:空位;
条件分支语句
if语句
if(){
}else if(){
}else{
}
switch语句
switch(){
case 变量:
break;
default:
break;
}
循环语句
while循环
while(循环跳出条件){
}
do-while循环
do{
}while();
for循环
for(int i=1;i<条件;i++){
}
foreach循环
foreach(var i in 集合需要继承自一个接口){
}
知识补充
控制台相关
1.Console.Readkey().Keycahr-可以保存输入的字符;
2.Console.Clear()-清空控制台;
3.Console.SetWindowSize(宽,高);
4.Console.SetBufferSize(宽,高)-缓冲区大小;
5.Console.SetCursorPosition(x,y)-设置光标的位置
6.Console.ForegroundColor=ConsoleColor.颜色-设置文件颜色
7.Console.BackgroundColor=ConsoleColor.颜色–设置背景颜色,想立马改变用clear
8.Console.CursorVisiable=false-设置光标显隐
9.Environment.Exit(0)-关闭控制台
随机数
语法:Random 变量名=new Random();
生成非负数:变量名.Next(最小到最大,范围不包括最大);