C#项目创建与说明

一、创建项目

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再翻译成二进制代码让计算机识别。还有一个原因:在编程时,再厉害的大神写代码永远不能保证不会出错。那么在运行程序之前,编译代码可以检查程序代码中是否包含语法错误。

生成方式
生成解决方案

选中解决方案--->右键--->生成解决方案 或者 菜单----->生成---->生成解决方案(重新生成解决方案)生成解决方案,会将此解决方案下的所有项目都进行编译生成

生成项目

选中项目---->右键---->生成项目(重新生成项目)

此操作只会编译当前选中的项目以及它所依赖的项目,可能不会对所有的项目进行生成

如果显示 0 个失败则表示编译成功。

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注释来生成文档。

单元测试:为类编写单元测试,以验证类的行为和逻辑是否符合预期。通过测试可以提高代码的质量和可靠性。

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# 中,可以使用 ASP.NET Core 的 Startup 来配置依赖注入。Startup 是一个特殊的,它会在应用程序启动时被调用,用于配置应用程序的服务和中间件。 下面是一个简单的示例,演示如何在 Startup 中配置依赖注入: ``` using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; public class Startup { public void ConfigureServices(IServiceCollection services) { // 注册服务 services.AddTransient<IMyService, MyService>(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { // 配置中间件 app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { // 使用服务 var myService = context.RequestServices.GetService<IMyService>(); var message = myService.GetMessage(); await context.Response.WriteAsync(message); }); }); } } ``` 在 ConfigureServices 方法中,我们可以使用 services 参数来注册我们需要使用的服务。这里使用了 Transient 生命周期,表示每次请求都会创建一个新的实例。 在 Configure 方法中,我们可以使用 app 参数来配置中间件。这里使用了 UseRouting 和 UseEndpoints 中间件来处理 HTTP 请求,并且在处理请求时,使用 context.RequestServices.GetService 方法来获取我们注册的服务的实例,并使用它来处理请求。 需要注意的是,为了使用依赖注入,我们需要在项目中添加 Microsoft.Extensions.DependencyInjection 包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值