PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为日更。
笔记内容均为 自己理解,会有遗漏处,不保证每个都对,仅供参考
C#笔记未按照难度排列
Part 1 创建 C#项目:
VS选择新建项目 C# ➡ 控制台应用 ➡ 修改目录与文件名 ➡ 确定
Part 2 基础简介
C#与.Net区别:
.net/dontnet:一般指.net framework框架,一种平台,一种技术
c#(charp):一种编程语言,可以开发基于.net的应用。
C#中每句话必须以 分号 ; 来结束
Main是C#程序的 主函数,执行程序时会首先找到Main函数,当Main函数执行完毕后,则代表着C#程序的运行结束
创建后基础代码
//using 引用库文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//namespace 命名空间 class表示类
//C#运算代码只能在Class类作用域内编写
//属性 方法
//运行顺序 由上至下
namespace TEST1_2019_7_26
{
//class + 类名 :定义类
class Program
{
//static表示方法, Void为返回类型, Main方法名(为主方法), ()内为方法所用到的参数
static void Main(string[] args)
{
//Colsole表示控制台
Console.WriteLine("Hello World!");
}
}
}
Part 3 基础数据类型
基础数据类型包括:整数, 浮点数,字符型, 布尔型,字符串
整数:
整数:
整数又分为有符号数与无符号数
有符号数:sbyte,Short,int , long;
无符号数:byte, ushort,uint, ulong;
/******************************************************************************************************/
//申请一个Byte大小的类型空间(8bit),命名为age,赋值为10
//无符号数,取值范围为 0 -- 255
byte age = 10;
/******************************************************************************************************/
//有符号数, 首位为符号0(正号) 1(负号)
//取值范围 -128 --- 127
sbyte age;
age = 10;
/******************************************************************************************************/
//申请一个Short大小(2Byte)的类型空间(16bit), 命名为height,
//short height; 有符号 -2^15 --- 2^15 - 1
//ushort height; 无符号 0 --- 65535
/******************************************************************************************************/
//申请一个Unit大小(4Byte)的类型空间(32bit),命名为age, 无符号数
//取值范围 0 --- 2^32
uint age = uint.MaxValue; //可以查看unit的最大值,其他类型的使用方法相同
Console.WriteLine(age);
/******************************************************************************************************/
//申请一个int大小(4Byte)的类型空间(32bit), 命名为age, 有符号数
//取值范围 -2^31 --- 2^31 - 1
int age = int.MaxValue;
Console.WriteLine(age);
/******************************************************************************************************/
//申请一个long大小的类型空间, 命名为money, 有符号数
//32位机器占4个字节 64个机器占8字节 导致取值范围的不同
//ulong无符号数, long有符号数
/******************************************************************************************************/
浮点数:
浮点数:单精度 float,双精度double,长精度decimal
/******************************************************************************************************/
//float精度为小数点后7位, 占用空间 4Byte, 单精度浮点数
//末尾f的意义是 转换为float, 系统默认为double, 所以在数值末尾添加 f
float ti = 1.1f;
/******************************************************************************************************/
//double精度为小数点后15位, 占用空间 8Byte, 双精度浮点数
double ti = 1.5;
/******************************************************************************************************/
//decimal精度位小数点后28位, 占用空间12Byte
/******************************************************************************************************/
布尔型:
/******************************************************************************************************/
//bool 布尔类型 只有 True 和 False, 占用空间1Byte, 不能用 0/1代替
bool flagTag = true;
Console.WriteLine(flagTag.ToString());
/******************************************************************************************************/
字符型:
/******************************************************************************************************/
char 字符类型占用 2Byte
/******************************************************************************************************/
字符串:
/******************************************************************************************************/
//string 字符串类型, 占用空间不定
string strA = "Hello World!";
Console.WriteLine(strA);
/******************************************************************************************************/
常量类型const:
/******************************************************************************************************/
//常量const, 不可被修改,必须采用 const 类型 类名 = 值 的格式
const int Con = 5;
/******************************************************************************************************/
Part 4 变量转换:
/******************************************************************************************************/
//类型转换
byte tempByte = 10;
//byte的存储格式为 0000 0000
short tempShort = 20;
//short的存储格式为 0000 0000 0000 0000
tempShort = tempByte; //隐式转换 小转大
tempByte = tempShort;//内存溢出 2byte --> 1byte溢出 大转小
tempByte = (byte)tempShort;//强制转换,丢弃多出的字节 例如256转byte类 答案位0,因为其低八位均为0
//short的256计算机表示为 0000 0001 0000 0000 强制转换时高八位会丢失,只保存低八位,所以结果为0
/******************************************************************************************************/
Part 5 C#标识符:
C#标识符:
- 标识符不能以数字开头,也不能包含空格。
- 标识符可以包含大小写字母、数字、下划线和@字符。
- 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
- @字符只能是标识符的第一个字符。带@前缀的标识符称为逐字标识符。
- 不能使用C#中的关键字。但是,@字符加关键字可以成为合法的标识符,建议不要这样做。
- 不能与C#的类库名称相同。
第四天收获:了解掌握的C#的几种基础类型。。。。。