当前位置: 首页 > article >正文

【C#】C#编程入门指南:构建你的.NET开发基础

文章目录

  • 前言:
  • 1. C# 开发环境 VS的基本熟悉
  • 2. 解决方案与项目的关系
  • 3. 编辑、编译、链接、运行
  • 4. 托管代码和CLR
    • 4.1 CLR:
    • 4.2 C# 代码第编译过程(两次编译的)
  • 5. 命名空间
  • 6. 类的组成与分析
  • 7. C# 的数据类型
    • 7.1 值类型
    • 7.2 引用类型
    • 7.3 变量
  • 8. 注释与帮助文档
  • 总结:

前言:

在当今的软件开发领域,C# 作为一种功能强大且广泛使用的编程语言,已经成为许多开发者的首选。它以其简洁的语法、强大的面向对象特性以及与.NET框架的紧密集成而闻名。本文旨在为初学者提供一个全面的C#学习指南,从开发环境的搭建到代码的编写、编译、运行,再到深入理解C#的核心概念,如托管代码、命名空间、类的结构、数据类型等。通过这篇文章,读者将能够建立起对C#编程基础的清晰认识,并为进一步的学习和实践打下坚实的基础。

1. C# 开发环境 VS的基本熟悉

创建项目(本质:生成一个文件夹 文件夹中存放的是项目开发中所需的代码文件等)
生成的文件含义:
.sln : 解决方案文件
.cs : 编写代码的源文件
.csproj : 工程文件
.config : 配置文件
.bin : 可执行文件 (应用程序文件)
.obj : 生成的可执行文件过程中的一些中间文件
Properties: 程序集的一些信息

2. 解决方案与项目的关系

解决方案:一个整体项目的解决办法对应的全局方案(广义上的项目)
项目(狭义上的项目)
关系:一个解决方案中可以包含多个项目
在这里插入图片描述

3. 编辑、编译、链接、运行

编辑:编写代码程序
编译:将你编写的代码翻译成机器能够运行(执行)的代码(二进制代码)
链接:将多个编译器编译的机器语言的代码链接合成一个exe文件的过程
运行:将exe文件中代码加载到内存中进行代码的执行过程

4. 托管代码和CLR

4.1 CLR:

CLR:公共语言运行库(公共语言运行时)Common Language RunTime
作用: 在应用程序启动的时候对其进行一个全方面的管理

4.2 C# 代码第编译过程(两次编译的)

  1. VS中自带一个编译器(csc.exe)编译成 exe/dll 文件(微软的中间语言 简称IL)

查看中间语言:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools

在这里插入图片描述
在这里插入图片描述

  1. 引用程序启动之后通过 CLR 中的 JIT 编译器,根据操作系统的不同产生不同的机器代码(X86 / X64)
  2. 流程图:

C#代码文件 -> IL -> 机器码

  1. CLR 中的组件:内存管理、异常处理、垃圾回收、JIT编译器、类加载器、CTS、CLS
  2. 托管代码和非托管代码:
  1. 托管代码:CLR管理之下运行的代码就是托管代码(如:.Net)
  2. 非托管代码: 根据不同操作系统直接产生对应的机器码(非 .Net)
  1. CTS 和 CLS:是CLR重要的组件

CTS 是通用类型系统:只要解决不同的语言间数据类型差异的问题。
CLS 是通过语言的规范,主要解决不同开发语言语法规范的问题。

举例:
C# 定义一个整型的变量 int x = 0;
VB 定义一个整型变量 integer x = 0;
在这里插入图片描述

5. 命名空间

命名空间的作用:划分区域方便管理
拿到命空间中的类:

  1. 同一项目下:using去找到它
// 1.系统提供的命名空间
// 2.自己去找到命名空间
using QHD.TestProject; // 合并101包房和102包房

namespace QHD.TestProject1 // 101包房
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Class1 class1 = new Class1();
        }
    }
}
namespace QHD.TestProject // 102包房
{
    internal class Class1
    {
    }
}
  1. 不同项目下:先引用using
    在这里插入图片描述
namespace ConsoleApp1 
{
    public class Class2 // 改成public
    {
    }
}
using ConsoleApp1;

6. 类的组成与分析

  1. C# 是面向对象的编程方式。
  2. 解决方案->若干个项目->若干个类
  3. 举例
    一辆汽车(汽车类),(颜色、宽度、高度等等)属性。(播放音乐、辅助驾驶等等功能)方法。
  4. 类的组成部分:字段(配合属性/方法的使用的)、属性(获取数据)、方法(实现功能)
  5. 类的创建格式:访问修饰符、关键字、类的名称{ //组成部分 }
  6. 访问修饰符:internal(内部的)(默认)、public(公共的)
  7. 关键字:class
  8. 创建字段(成员变量):访问修饰符、数据类型、字段名称;
    访问修饰符:private(私有)、public(公共的)
  9. 创建属性:方位修饰符、数据类型、属性名称{ set;get }、访问修饰符:Public(公共的)
  10. 创建方法:访问修饰符、返回值、方法名(参数){ //类容 }
    访问修饰符:private(私有)、public(公共的)
namespace QHD.ClassAnalysis
{
    public class Class1
    {
        // 字段
        private string text = "我是字段";
        // 属性
        public string Text { set; get; } = "我是属性";
        // 方法
        public void Show(int x)
        {
            // 内容
        }
    }
}

7. C# 的数据类型

7.1 值类型

  1. 整型:
    在这里插入图片描述

  2. 浮点型:
    在这里插入图片描述

  3. 字符型:
    在这里插入图片描述

  4. 布尔类型:
    在这里插入图片描述

  5. 日期类型:
    在这里插入图片描述

7.2 引用类型

类、数组、字符串都是属于引用类型,需要注意 String 类型在 C# 底层中是引用类型但是使用的式值类型的效果。

7.3 变量

  1. 什么是变量?
    变量就是内存地址的别名,也称之为字段,为了方便操作数据而存在的。
  2. 如何定义变量?
    利用以上的数据类型就可以定义变量了,比如定义一个 int 整型变量 int x = 30;
  3. 变量定义的作用域:
    成员变量(定义在类级别下)、局部变量(如定义在方法中)
  4. 变量名称的命名规范:
    首个单词小写,多个单词的情况下,其余的单词首字母大写
namespace QHD.ClassAnalysis
{
    internal class Program // 入口类(启动)
    {
        // 成员变量
        static int testData = 0;

        static void Main(string[] args)
        {
            // 1.定义一个int类型的变量
            int data = 0; // 局部变量(定义在方法中)

            // 写入到控制台当中
            Console.WriteLine(data);

            Test();

            // 停留显示
            Console.ReadLine();
        }

        static void Test()
        {
            testData = 10;
            Console.WriteLine(testData);
        }
    }
}

8. 注释与帮助文档

using System.Drawing;

namespace QHD.AnnotationProject
{
    /// <summary>
    /// 入口类
    /// </summary>
    internal class Program
    {
        // 创建一个int类型变量,初始值为0
        private int intData = 0;

        // 创建一个String类型变量,初始值为空值
        private string stringData = ""; //Char ''

        // 创建一个float类型变量,初始值为0.0
        private float floatData = 0.0f;
       
        /// <summary>
        /// 创建一个颜色属性, 鼠标放上面按F1键可以看帮助文档
        /// </summary>
        public Color color { get; set; }

        /// <summary>
        /// 入口方法
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
        }
    }
}

总结:

本文全面介绍了C#编程的基础知识,从VS开发环境的熟悉到解决方案与项目的关系,再到代码的编辑、编译、链接和运行过程。我们深入探讨了托管代码与CLR的工作原理,以及C#代码的两次编译过程。文章还详细解释了命名空间的作用和如何使用它们,以及类的基本组成和分析方法。此外,我们讨论了C#中的数据类型,包括值类型和引用类型,以及变量的定义和作用域。最后,文章还涉及了注释和帮助文档的编写,这对于代码的维护和可读性至关重要。通过这些内容的学习,读者不仅能够掌握C#编程的基础知识,还能够理解C#语言的设计哲学和编程范式,为成为一名优秀的C#开发者奠定基础。


http://www.kler.cn/a/397330.html

相关文章:

  • 大模型基础BERT——Transformers的双向编码器表示
  • 记录一下跨域的问题,讲讲跨域
  • Tessy学习笔记—requirement(需求)的管理
  • FlinkSql读取kafka数据流的方法(scala)
  • 软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型
  • 关于在Reverse函数中不能使用L=s而是*L=*s的原因分析
  • 网络设备驱动与网络子系统,有区别吗?
  • Python 打包教程:从零开始构建可分发的Python包
  • 【ORACLE战报】2024年10月OCP考试战报
  • 在使用 Navicat 操作 MongoDB 时,进行 CRUD(创建、读取、更新、删除)操作的基本语法如下:
  • 《操作系统 - 清华大学》3 -3:连续内存分配:内存碎片与分区的动态分配
  • 机器学习day3-KNN算法、模型调优与选择
  • 【GeekBand】C++设计模式笔记11_Builder_构建器
  • java Collections 详解
  • 第22章 企业级Docker虚拟化平台实战
  • Java StringBuilder详解
  • 数据结构《栈和队列》
  • 针对git、giteeVSCode连接的使用 || Live Share插件使用
  • 最新U盘PE启动安装Win10/Win11系统教程
  • 数据结构(初阶4)---循环队列详解
  • Oracle OCP认证考试考点详解082系列22
  • 正确使用primefaces的process和update
  • elementPlus + table 树形懒加载,子节点的刷新
  • 智慧建造-运用Trimble技术将梦幻水族馆变为现实【上海沪敖3D】
  • 算法----二分法找出有序列表指定值
  • RTSP播放器EasyPlayer.js播放器UniApp或者内嵌其他App里面webview需要截图下载