一、前言
C#补全计划,是一个新的系列。这个系列适合有一定C、C++、Java语言基础(了解基本程序控制语句、面向对象、数据结构等)、并在为Unity开发做基础的同学学习。在这里,我们会学习到在别的语言中没有出现而在C#中新出现的知识点。并且在后面的学习中,也会对C#进行深入学习。
二、C#的基本结构
using System;
namespace Enumerate
{
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
}
}
}
using:使用命名空间xxx。用来引入包,相当于C语言的include或Java的import。
namespace:被他包括的代码块的命名空间是什么。用来管理项目结构,其他代码可以导入该命名空间来调用该命名空间中的代码。
class:类。和C++、Java的用法相同
static void Main(string[] args):主函数。程序的入口,相当于C语言的int main()或Java的public static void main(String[] args)
三、枚举的基本语法
1. 枚举声明位置:
namespace语句块中。(常用)
class或struct中。
注意:枚举不能再函数体内声明!!!
2. 创建枚举类型
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1,
enumName2,
enumName3,
enumName4
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
}
}
}
语法:enum 枚举类型名{ 枚举项名1, 枚举项名2, ... }
3. 使用枚举类型
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1,
enumName2,
enumName3,
enumName4
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
}
}
}
语法:枚举类型名 枚举变量名 = 枚举类型名.枚举项名;
四、枚举的默认值
默认值:默认第一个为0、下一个的值是上一个的值的递增。
也可以手动赋值。语法如下:
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1 = 1,
enumName2, // 默认值为2
enumName3 = 100,
enumName4 // 默认值为101
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
}
}
}
语法:枚举项名 = 默认值(整数数字);
五、枚举的类型转换
1. 枚举类型转整型:
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1 = 1,
enumName2, // 默认值为2
enumName3 = 100,
enumName4 // 默认值为101
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
// 枚举类型转换为整型
int i1 = (int)e1;
int i2 = (int)e2;
int i3 = (int)e3;
int i4 = (int)e4;
// 输出数字
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(i3);
Console.WriteLine(i4);
}
}
}
运行结果如下:
2. 整型转枚举类型:
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1 = 1,
enumName2, // 默认值为2
enumName3 = 100,
enumName4 // 默认值为101
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
// 整型转换为枚举类型
e1 = 0;
e2 = (ETypeName)1;
e3 = (ETypeName)2;
e4 = (ETypeName)3;
// 输出枚举
Console.WriteLine((int)e1);
Console.WriteLine((int)e2);
Console.WriteLine((int)e3);
Console.WriteLine((int)e4);
}
}
}
运行结果如下:
3. 枚举类型转字符串类型:
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1 = 1,
enumName2, // 默认值为2
enumName3 = 100,
enumName4 // 默认值为101
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
// 枚举类型转换为字符串类型
string s1 = e1.ToString();
string s2 = e2.ToString();
string s3 = e3.ToString();
string s4 = e4.ToString();
// 输出枚举
Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
Console.WriteLine(s4);
}
}
}
运行结果如下:
4. 字符串类型转枚举类型:
using System;
namespace Enumerate
{
// 声明枚举变量
enum ETypeName
{
enumName1 = 1,
enumName2, // 默认值为2
enumName3 = 100,
enumName4 // 默认值为101
}
class Test
{
static void Main(string[] args)
{
// 程序从这里运行
// 使用枚举变量
ETypeName e1 = ETypeName.enumName1;
ETypeName e2 = ETypeName.enumName2;
ETypeName e3 = ETypeName.enumName3;
ETypeName e4 = ETypeName.enumName4;
// 字符串类型转换为枚举类型
e1 = (ETypeName)Enum.Parse(typeof(ETypeName), "enumName1");
e2 = (ETypeName)Enum.Parse(typeof(ETypeName), "enumName2");
e3 = (ETypeName)Enum.Parse(typeof(ETypeName), "enumName3");
e4 = (ETypeName)Enum.Parse(typeof(ETypeName), "enumName4");
// 输出枚举
Console.WriteLine(e1);
Console.WriteLine(e2);
Console.WriteLine(e3);
Console.WriteLine(e4);
}
}
}
运行结果如下:
今天的学习就到这里了。感谢阅读。
再见!