CSharp基本语法
阅读
2023-07-24更新
最新编辑:TrimesS_
阅读:
更新日期:2023-07-24
最新编辑:TrimesS_
C#简介
C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。
本篇文章将会教您C#的基本语法,以及C#与其他语言有何不同,尤其是与Lua。
C# 学习资源
C# 与 Lua 有何不同?我该做出怎样的改变?
- 数据类型上:
Lua是弱类型语言,变量声明时无需指定数据类型。
C#是强类型语言,定义数据必须指定数据类型。 - 函数关系上:
Lua中的函数没有明确的归属类,独立存在。
C#中的函数都属于类。 - 结尾上:
C#代码每行必须以;结尾,
Lua代码可以用;结尾,也可以没有。
以上是比较明显的点
数据类型
要学习编程语言,首先要了解的便是数据类型。C#的数据类型与C语言家族虽有较大改变,但大致概念是相同的。
一、整数类型
C#根据存储的空间,将整型变量分成了八种
类型 | 取值范围 |
---|---|
Sbyte | 有符号数,占用1个字节,-128 到 127 |
Byte | 无符号数,占用1个字节,0 到 255 |
Short | 有符号数,占用2个字节,-32,768 到 32,767 |
Ushort | 无符号数,占用2个字节,0 到 65,535 |
Int | 有符号数,占用4个字节,-2,147,483,648 到 2,147,483,647 |
Uint | 无符号数,占用4个字节,0 到 4,294,967,295 |
Long | 有符号数,占用8个字节,-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
Ulong | 无符号数,占用8个字节,0 到 18,446,744,073,709,551,615 |
在这其中,ushort,uint,ulong中的u字母是取自 unsigned 单词中的首字母,代表无符号。sbyte中的s字母是取自 signed 单词中的首字母,代表有符号。
与C++不同的是,C++的类型只有4个,分别是short,int,long,long long
二、浮点型
C#在浮点型方面与C语言家族一样,都分为了单精度浮点数和双精度浮点数。
类型 | 取值范围 |
---|---|
float | 单精度浮点型,占用4个字节,最多保留7位小数 |
double | 双精度浮点型,占用8个字节,最多保留16位小数 |
C#与C语言家族一样,float类型的赋值在结尾要加上f,例如:
float num = 3.14f;
反之,double则不用添加。
三、字符串类型与字符类型
C#与C语言家族不同的是,C#大多数情况下默认带着String,而且兼容的很好。
这样省去了一些麻烦,我们终于不用写#include<string>
了。
在C/C++中,如果我们不用string的话,我们只能使用char[]来实现字符串的效果,这在一些方面比较麻烦,因为char是字符类型,char[]是把字符存入一个数组,再拼合起来成为字符串。C#当然也保留了Char。
例如:
string str1 = "abc";
char charValue = "A";
char charArray[] = "abc";
若要将string的数据赋值到char数组,我们需要用到ToCharArray函数:
char charArray[] = str1.ToCharArray();
四、布尔
bool就没有什么好说的了,基本所有语言都一样,True与False
指针
很抱歉,在C#中指针是不安全的存在,C#在有限的范围内支持指针,它只不过是一个持有另一类型内存地址的变量。
在运用它们的时候,我们要标上unsafe