好用又详细的C# 基础语法与使用

1 变量

声明变量语法格式:

作用范围 变量类型 变量名; 例如: private int a;

定义变量遵循的规则:

  • 变量名称必须以字母、下划线或者@开头
  • 变量的名称只能由字母、数字和下划线组成,不能包含空格、标点符号、运算符等他符号。
  • 变量名称不能与C#的关键字名称相同。如using、static、 namespace等
  • 变量区分大小写,大写字母与小写字母是不同的变量

变量的初始化:在声明变量时并进行对变量进行赋值初始化,例如:private int num = 5;

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,如果想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。

在 C# 中,有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字。下表列出了 C# 中的保留关键字和上下文关键字:

保留关键字
abstract as base bool break byte case
catch char checked class const continue decimal
default delegate do double else enum event
explicit extern false finally fixed float for
foreach goto if implicit in int interface
internal is lock long namespace new null
object operator out override namespace params private
protected public readonly ref return sbyte sealed
short sizeof stackalloc static string struct switch
this throw true try typeof uint ulong
unchecked unsafe ushort using virtual void while
上下文关键字
add alias ascending descending dynamic from get
global group into join let orderby partial
remove select set

2 常量

在C#中,使用const关键字定义的量叫做常量,例如:const float PI = 3.14f;
使用const关键字同时声明多个同数据类型的常量,常量之间要使用逗号分隔开。
例如:

const int num = 100, max = 12, min = 2; 

使用const定义常量时,需要注意以下几点

  • const 默认时静态的,不能和static 同时使用
  • const必须在字段声明时初始化
  • const 只能定义字段和局部变量
  • const 只能应用在值类型和string类型,其他引用类型常量只能定义为null。
  • 常量在定义完成后就不能在后续代码进行修改

3 数据类型

在 C# 中,变量分为以下几种类型:

  • 值类型(Value types)
  • 引用类型(Reference types)
  • 指针类型(Pointer types)

3.1 值类型

值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。

整数类型

类型 描述 取值范围
sbyte 有符号的 8位整数 -128 到 127
byte 无符号的 8位整数 0 到 255
short 有符号16位整数 -2^15 到 (2^15) -1
ushort 无符号16位整数 0 到 (2 ^16) - 1
int 有符号32位整数 -2^31 到 (2^31) -1
uint 无符号32位整数 0 到 (2^32) -1
long 有符号64位整数 -2^63 到 2^63
ulong 无符号64位整数 0 到 2^64
char 无符号16位整数 0 到 (2^16) - 1

浮点类型

数据类型 说明
float 32位单精度浮点数
double 64位双精度浮点数
decimal 128 位精确的十进制数
在使用float类型声明变量时,须在数值后面添加 f
在使用double类型声明变量时,须在数值后面添加 d
在使用decimal类型声明变量时,须在数值后面添加 m

结构类型

结构类型一般指结构体类型,其是一种值类型,用来封装一组相关的变量。

声明一个结构体所使用的关键字:struct

声明的格式:结构修饰符 struct 结构体名 { 结构体内部 }

结构修饰符主要包括public、private、internal、protected

  • public:该结构体公有,不受任何访问限制
  • private:该结构体只能由本身访问
  • internal:只能在当前应用程序中访问
  • protected:该结构只能在其本身或者其派生出的结构体中访问。
struct teacher
{
   
	private int id;
    private int age;
    private string name;
    public teacher(int id, int age, string name) 
    {
   
		this.id = id;
        this.age = age;
        this.name = name;
    }
}

注意:

  1. 在结构体中不能对成员变量进行初始化

  2. 结构类型是值类型,内存分配在栈中。

  3. 结构体类型是不抽象的,且是隐式密封的,因此在结构体声明中不允许使用 abstract 和 sealed。

  4. 结构体不能声明默认构造函数(没有参数的构造函数)或析构函数,但可以声明有参数的构造函数。

  5. 结构体可以实现接口,但不能从另一个结构体继承。

  6. 一般情况下很少使用结构体类型

枚举类型

枚举类型也是一种值类型,用于声明一组常量。所有的枚举类型继承于System.Enum中。

声明定义的格式:修饰符 enum 枚举名 : 枚举基础类型 { }

如果没有显示的声明基础类型,其默认为 int 类型

在枚举类型中,声明的第一个枚举成员的默认值为0,后续的枚举成员的值是将前一个枚举成员的值加 1。

例如:

public enum colorEnum 
{
   
	Red,
    Yellow,
    Green
}

上述代码中,其Red、Yellow、Green值分别为 0 ,1,2;

在枚举成员中允许多个成员具有相同的值,没有显式赋值的枚举成员的值总是前一个枚举成员值加 1。

例如:

public enum colorEnum
{
   
	Red,
	Yellow = 1,
	Green,
	Pink = 1,
	Blue
}

上述代码中,Red、Yellow、Green、Pink、Blue的值分别为0,1,2,1,2

枚举类型的转换

基础类型不能隐式地向枚举类型转换,枚举类型也不能隐式地向基础类型转换。

枚举类型和基础类型之间必须使用强制类型转换。

例如:

enum Day 
{
   
	Mon, Tue, Wed, Thu, Fri, Sat, Sun
}
static void Main
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToWonderful

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值