上一篇是说明了一下这个C#一个程序文件的基本结构,本篇文章就开始来介绍一下C#的基本语法了。先上一个示例图来慢慢讲解吧!
c#以符号;做为一段代码的结尾,上述图片包含了1个字符串变量和1个数字变量外加2个输出.简单的实现了任何编程语言教学的第一步,显示hello world。我们可以看到这些动作都是通过Main 函数来完成的。因为程序第一个运行位置就是Main 函数。所以程序会自上而下的编译里面的代码。下面我将在改进一下此段代码。示例图如下
这里我把代码集中在一个名为Test()的函数里实现了同样的功能,效果实际一样的。一般情况下,c#就是围绕Main函数不停的添砖加瓦,然后组合而成一个程序。
C#语法简单说明
任何编程语言的语法大致是一样的。基本上大致分为2部分。
第一部分
部分一是做为控制计算机行为的命令,这些命令主要有if 和for 可以说咱们只需要使用if 和for语句,其实可以编写出绝大部分的计算机程序。另外还有做为数学运算的+-*/ 这些我个人认为其实可以把他归类为向电脑发出的命令。
if 语句
if 语句是用来做逻辑判断的语句。if 语句的语法格式为if (){} ()括号用来放判断条件{}用来执行具体的代码块。下面是一个具体的示例
int b = 0; if (b == 0) { Console.WriteLine("case 1"); }
翻译成中文就是如果b==0那么就执行代码块。特别注意的是为什么b==2 要用2个等号,这个我们可以把它理解为2个等于号是用来做比较的。而一个等于号是用来做赋值的。比如 int b=1;是把1这个值赋值给b 而 b==1 是判断b是不是等于1。
理论上可以有无限个逻辑判断条件,如下方代码。
int b = 0; if (b == 0) { Console.WriteLine("case 1"); } else if (b == 1) //else if 可以有无限个判断条件 { Console.WriteLine("case 2"); } else { //没有任何判断条件时执行这里 Console.WriteLine("case 3"); }
除了if外,还有类似的switch可以用于逻辑判断。可以把它理解为是if的变种。
for 循环语句
for 循环语句是用来做为重复循环执行的语句,下面给出一个示例方便大家理解。
for (int i = 0; i< 10; i++) { //这里是放置具体的代码 }
括号里()这里有3部分,第一部分定义循环的初始条件,这里是定义了一个变量i初始值为0,第二部分是i<10的意思是只要i的值小于10就继续循环。第三部分i++是每循环一次,那么i的值就加1。理论上咱们只要控制i的值永远达不到10,那么这个程序就会永远的循环下去。直到系统奔溃。比如下方
for (int i = 0; i< 10; i++) { if (i == 9) { i = 0; } }
下面给出一个for循环依次从0开始相加到10的示例。
除去for循环外还有类似的while,foreach等 也算是for循环的变种。理论上咱们只要能熟练掌握for循环,其他类型的语句能实现的功能for循环都是可以的。
c#运算符
运算符一般分为3个类型,分为算数运算符,关系运算符,逻辑运算符。
算数运算符
+. -. *. / 这个就不需要介绍了吧
关系运算符
关系运算符有相等(==),不相等(!=),大于(>),小于(<),大于等于(>=),小于等于(<=);
逻辑运算符
逻辑运算符主要包括与(&&)、或(||)、非(!)等,它主要用于多个布尔型表达式之间的运算。布尔型就是逻辑的真和假,打个比方。100块钱,你可以定义它为2种状态,真钱,假钱。一个人的布尔型就可以比喻为男人 女人。或则是一个事物成立或则不成立,这个就是布尔型。下面用一个if来示例。
int b = 0; int c = 1; if (b == 0 && c == 1) { //如果b等于0并且c==1那么逻辑成立,为逻辑真 } else { //否则为逻辑假 }
关于更详细的运算符的使用方法可以参考相关的资料。包括for if 语句算是比较简单的,也是最基础的编程知识了。100%的编程语言都会使用上述介绍的东西。如果认真学习的话,顶多2-3天就应该算是比较熟练。唯一的难点可能就在于运算符里的关系运算符和逻辑运算符需要在实践中大量的练习。
第二部分 数据类型
相信大家都知道,计算机的任何事物到最后都会化为二进制。比如我们看电影,在计算机的眼里电影也是一堆的二进制。玩游戏所产生的人物,道具,等级最终在回归本源后都化为计算机所能理解的二进制。二进制在计算机世界里是一切物质的基础,数据类型那么可以理解为比二进制更高级的进化形态。好比一个细胞,它进化为了青蛙。本质上青蛙也是由细胞所组成的。
编程语言的数据类型一般有如下几种常用的
值类型
值类型有如下种类,十分频繁能使用到的有bool int 这2样,bool也可以用int类型的数字来表示也是可以的。小编有时就经常用0和1来代替bool型的数据。
bool 布尔值 True 或 False False
byte 8 位无符号整数 0 到 255 0
char 16 位 Unicode 字符 U +0000 到 U +ffff '\0'
decimal 128 位精确的十进制值,28-29 有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M
double 64 位双精度浮点型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D
float 32 位单精度浮点型 -3.4 x 1038 到 + 3.4 x 1038 0.0F
int 32 位有符号整数类型 -2,147,483,648 到 2,147,483,647 0
long 64 位有符号整数类型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
sbyte 8 位有符号整数类型 -128 到 127 0
short 16 位有符号整数类型 -32,768 到 32,767 0
uint 32 位无符号整数类型 0 到 4,294,967,295 0
ulong 64 位无符号整数类型 0 到 18,446,744,073,709,551,615 0
ushort 16 位无符号整数类型 0 到 65,535 0
引用类型
引用类型又包含3个大类
string 字符串
字符串是一种很基础的数据类型。我们的中文,阿拉伯数字都可以算成是字符串。下方给一个示例
string s="我是字符串";
string代表定义改变量为字符串类型。是有的字符串都是处于""中间的。如果没有符号的话,那么这个变量将会报错!如果要把数字也转换为字符串也需要在加上“”下方给出一个示例
Var s = 333; //没有加""类型就为数字 var是c#的语法糖,用来自动判断数据类型。 var s1 = "333";//加了""类型就为字符串
对象object
对象其实是一个很抽象的东西,上篇文章我们有介绍什么是类。object也可以把它想象为一种特殊的类,或则是集合。在c#中object它是一切的基类,基本任何数据都可以使用它。
动态(Dynamic)
Dynamic可以动态转换数据类型,下方示例
dynamic s = 333; dynamic s = "44444";
如果不使用Dynamic而是如下写法在c#中是会报错的
int s = 333; string s = "44444";
动态貌似看起来特别的方便,但一旦大量使用的话如果程序出现错误,会难于进行排查。因为在编译前它不会报错!
指针类型(Pointer types)
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
声明指针类型的语法:
type* identifier;
例如:
char* cptr;
int* iptr;
最后总结
上述内容只是大概介绍一下,如果咱们没有任何基础的话,上述内容必须充分理解熟练后在开始学习asp.net core。上诉内容也通用与任何编程语言。可以说如果熟练掌握后对其他类型的编程语言也会更快的理解。这些最基本最原始的知识点是任何一门编程语言的基础知识,花费一些时间完全掌握后其实对于c#的语法,我相信大家也差不多基本都掌握了。我相信如果用心学习的话应该一周时间这些都应该大致都能掌握。