前言

揭示:为了可能将知识点学得更加透彻、记得更加牢固 我会通过教学解说的形式把常识写下来 因为在过程中会让人从学生变成老师 这个过程会开掘出新的常识和观点 是一个自我思维切换而达成的常识深度开掘和晋升的过程 如果能帮忙到大家那就最好 如果有讲错的中央还请多多指教!我只是一只菜鸡 感激了解!


1、Hello World程序

在学习编程语言之前我要揭示大家一下 学习编程语言最禁忌的一点就是 只看不写

看的时候 大脑:嗯太简略了 我会了! 手:不 你不会 ! 等写的时候就发现 都是些什么玩意

所以咱们肯定要动起手来写 废话不多说 咱们关上vistudio studio编译器 也能够不是VS用你们棘手的就行 新建一个控制台利用我的项目

咱们先从一段简略的代码学起

先来看看执行后果

输入了Hello World!

using System;namespace ConsoleApp1{     class Program     {         static void Main(string[] args)         {             Console.WriteLine("Hello World!");             Console.ReadKey();         }     }}


咱们来看看一个简略的C#程序结构

  • using System : 援用名称为System的命名空间
  • namespace ConsoleApp1 :申明ConsoleApp1命名空间 申明后咱们就能够通过using来援用
  • class Program :申明一个Program类
  • Main :程序的入口点
  • Console.WriteLine() :将信息输入到屏幕(就是咱们的控制台窗口)咱们只所以在控制台窗口看到Hello World! 就是这句话的作用 咱们能够自行批改看看成果 咱们把要输入的语句改一下

    Console.WriteLine("我只是一只Unity小菜鸡");

控制台窗口就能看到输入了一句 我只是一只Unity小菜鸡

  • Console.ReadKey() :期待用户按下任意键 为了防止程序编译完后一闪而过 能够把这句话删掉看看有什么变动
  • 认真点看 咱们能够发现在这段代码中所有的语句和表达式都要以;分号结尾

像这条语句 结尾的时候都会带一个;分号

Console.WriteLine("我只是一只Unity小菜鸡");

这是因为语言规定了 语句都须要加分号示意该语句完结了 所有写程序肯定要养成用分号结尾这个习惯 不然程序会报错的


2、什么是标识符

标识符是应用在变量、类、办法、和其余各种用户定义对象的个别术语。

int index = 0;

index 就是一个标识符

简略的说 咱们给变量或者用户自定义类型指定的名字就叫标识符

命名标识符是一门学识 它是须要咱们去恪守一些规定的

例如:

  • 必须以字母或者_结尾
  • 不能蕴含空格
  • 能够蕴含大小写字母、数字、下划线或@字符
  • 标识符必须辨别大小写,大写字母和小写字母会被认定为不同的字母
  • @字符只能放在标识符的第一位,带@前缀的标识符称为逐字标识符
  • 标识符不能应用C#中的关键字,然而加上@的关键字能够成为非法的标识符 然而不倡议这样做
  • 不能与C#的类库名称雷同
    • *

3、什么是关键字

咱们在这个简略的程序中能够看到 using、 namespace、 class、 这些都是C#预约义的保留标识符 这些预保留的标识符对编译器有非凡的意义 咱们不能用它作为咱们程序的标识符来应用(标识符不能和关键字反复 除非加上@)

例如咱们定义一个int 变量 变量名为using 这样程序就会报错

因为using是曾经预约义的保留的标识符其作用是帮忙咱们援用其余命名空间(援用命名空间有什么等等会讲) 所以咱们不能拿他作为咱们本人变量的标识符应用

int @using = 1;

带上@就能够

C#提供的关键字挺多的 初学的时候理解下就好了 不须要都记住 因为很多关键字前面都会频繁的应用 长此以往就都能记住了 这里附上C#官网提供的C#关键字文档 遇到不会的查就完事了

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/


4、为什么要援用命名空间

这里咱们再来理解下援用命名空间这个概念

咱们之所以可能调用Console.WriteLine(); 这个办法(也能够叫它函数)就是因为咱们援用了System这个命名空间,因为Console.WriteLine()这个办法就是在using System命名空间下的,如果咱们不援用System这个命名空间 咱们看看会产生什么

咱们把using System这句话给去掉

namespace ConsoleApp1{     class Program     {         static void Main(string[] args)         {             Console.WriteLine("Hello World!");             Console.ReadKey();         }     }}

能够看到编译器报错了!

提醒以后上下文中不存在Console 咱们再把System援用回去

using System;namespace ConsoleApp1{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("Hello World!");            Console.ReadKey();        }    }}

编译又失常了

咱们再来深刻了解下刚刚那句话咱们之所以可能调用Console.WriteLine(); 这个办法(也能够叫它函数)就是因为咱们援用了System这个命名空间,因为Console.WriteLine()这个办法就是在using System命名空间下的

鼠标点击Console 按下F12 或者右键转到定义 咱们来看看

能够察看到System的命名空间下定义了一个Console类

而后咱们往下拉 或者 回到咱们的程序鼠标点击WriteLine 而后再F12

是不是看到了WriteLine() 这个函数

所以当初懂了吧 Console.WriteLine()在System命名空间下的Console类中 如果咱们不援用System命名空间 天然就调用不了它 就好比现实生活中的 你须要去你敌人家里借他的PS4玩 你不晓得他家在哪里 那你怎么找他借呢