一、创建项目
1、点击右侧创建新的项目
2、 所有语言->选择C# 语言,类型->选择控制台,因为控制台最适合入门,以.Net Core 为例子。
3、输入项目名称,选择存放路径,点击下一步
4、选择SDK 为 5.0 ,点击创建。
二、项目结构介绍
1、解决方案名称,一般以软件名称命令,例如,开发一款软件,那么你的解决方案名称可以命名为那款软件的名称。
2、项目名称:一个解决方案下可能会有多个项目。
3、Program.cs 是程序的入口类,也称主类,CLR在运行时会自动找到Program.cs 类,这个类名不要改动,也不要删除,必须叫这名,也必须存在!!看见.cs 结尾的文件,都是类。一般情况下,一个文件只会创建一个类,并且类名与文件名相同。
4、namespace : 定义命名空间的关键字,用于分隔类,一般一个项目(类库)都会作为一个独立的命名空间。如同一个公司里都存在一个叫“李四”的,这时,员工编号就是用于区分这两个李四的“命名空间”。
5、 class : 定义类的关键字,类名一般与文件名相同。
6、Main:主程序的入口方法(行为),CLR在启动运行时会自动执行。
7、Console.WriteLine("Hello World") , 向控制台输出 “Hello World” 这句话。
8、using : 引用命名空间,Console 这个类的的命名空间在“System” 下, using System 表示引用
System 这个命名空间,引用之后,才可使用Console 这个控制台类。
9、 编译生成
运行一个程序之前,最好先进行编译生成MSIL( 微软中间语言,也就是CLR可以识别的东东)众所周知,计算机只能识别二进制代码,CLR 可以将MSIL再翻译成二进制代码让计算机识别。还有一个原因:在编程时,再厉害的大神写代码永远不能保证不会出错。那么在运行程序之前,编译代码可以检查程序代码中是否包含语法错误。
选中解决方案--->右键--->生成解决方案 或者 菜单----->生成---->生成解决方案(重新生成解决方案)生成解决方案,会将此解决方案下的所有项目都进行编译生成
生成项目
选中项目---->右键---->生成项目(重新生成项目)
此操作只会编译当前选中的项目以及它所依赖的项目,可能不会对所有的项目进行生成
10、运行项目
11、点击 小图标
12、按F5 键盘
新建项目(类库),类
类库:存放类的仓库,表示里面会封装很多常用功能的类
1. 新建项目
选中解决方案--->右键-->添加-->新建项目
2、新建类
三、概括
1.CLR是什么?
运行时环境
2..为什么选择.Net Core?
跨平台,开源,性能好,有潜力
3..Net与.Net Core ,.Net Framework ,C#之间的关系是什么?
.Net Core是.Net框架的一个分支,它具有更高的跨平台性和开源特性。.Net Framework是.Net框架的传统实现,主要运行在Windows操作系统上。C#是.Net框架的主要编程语言之一,可以在.Net Core和.Net Framework中使用
4.namespace ,using ,class 这些关键字的作用?
namespace
关键字用于定义命名空间,它可以帮助组织和管理代码。命名空间是一个逻辑上的容器,可以包含类、结构、接口、委托等。它可以避免命名冲突,并提供了代码的组织结构。通过使用namespace
关键字,可以将相关的类型组织在同一个命名空间下。
using
关键字用于引入命名空间或类型,可以简化代码中对命名空间或类型的引用。通过使用using
关键字,可以在代码中直接使用命名空间中的类型,而无需在每个使用处都完整地写出命名空间。例如,使用using System;
可以让代码中直接使用System命名空间下的类型,而无需在每个使用处都写出System.Console.WriteLine()
。
class
关键字用于定义一个类,类是面向对象编程的基本单位。类用于封装数据和方法,它是创建对象的模板。通过定义类,可以描述对象的属性和行为,并通过实例化类来创建对象。类可以包含字段、属性、方法、构造函数、事件等成员,用于实现类的功能。可以通过使用class
关键字定义一个类,并在类的内部定义成员和方法。
5.Program,Main,分别是什么?
Program
是一个常用的类名,用于存放程序入口点的类;Main
方法是程序的入口点,是一个静态方法,用于定义程序的逻辑代码。
7.解决方案,项目,类之间的关系是什么?
解决方案是一个顶层的组织单位,用于组织和管理项目。项目是实际开发的主要工作单元,可以包含多个类。类是代码的模板,用于定义对象的属性和行为。
8.创建类时需要注意什么?
命名规范:类名应使用PascalCase命名规范,即每个单词的首字母大写,不使用下划线或连字符。
命名空间:根据项目的结构和模块划分,将类放置在适当的命名空间中,以避免命名冲突。
可访问性:根据类的设计和需求,合理选择适当的访问修饰符(public、private、protected等)来控制类的成员的可访问性。
单一职责原则:一个类应该只有一个主要职责,避免将过多的功能和责任放在一个类中,以提高代码的可维护性和可测试性。
成员定义:在类中定义字段、属性、方法和事件等成员时,应根据功能和用途进行合理的组织和分类,并遵循一定的命名规范和约定。
构造函数:为类定义适当的构造函数,以初始化对象的状态和执行必要的初始化逻辑。根据需要,可以定义多个构造函数,提供不同的初始化选项。
继承和接口实现:根据类的设计需求,合理考虑是否需要继承其他类或实现接口,以实现代码的重用和多态性。
错误处理:在类的方法中,应该合理处理可能发生的异常情况,以保证代码的健壮性和可靠性。可以使用try-catch语句来捕获和处理异常。
文档注释:为类、成员和方法添加适当的文档注释,以提供清晰的说明和使用指南。可以使用XML注释来生成文档。
单元测试:为类编写单元测试,以验证类的行为和逻辑是否符合预期。通过测试可以提高代码的质量和可靠性。