PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为日更。
笔记内容均为 自己理解,会有遗漏处,不保证每个都对,仅供参考

C#笔记未按照难度排列

Part 1 创建 C#项目:

VS选择新建项目 C# ➡ 控制台应用 ➡ 修改目录与文件名 ➡ 确定

Unity项目文件命名_游戏开发

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#标识符:

  1. 标识符不能以数字开头,也不能包含空格。
  2. 标识符可以包含大小写字母、数字、下划线和@字符。
  3. 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
  4. @字符只能是标识符的第一个字符。带@前缀的标识符称为逐字标识符。
  5. 不能使用C#中的关键字。但是,@字符加关键字可以成为合法的标识符,建议不要这样做。
  6. 不能与C#的类库名称相同。

第四天收获:了解掌握的C#的几种基础类型。。。。。