[C#基础1/21] C#概述

Notion原笔记

1. C# 简介


1.1 C# 定义


C# 在继承 C 和 C++ 强大功能的同时去掉了一些它们的复杂特性,使其成为 C 语言家族中的一种高效强大的编程语言

1.2 C# 用途


  • 用于捕获、分析和处理数据的业务应用程序
  • 可从 Web 浏览器访问的动态 Web 应用程序
  • 2D 和 3D 游戏
  • 金融和科研应用程序
  • 基于云的应用程序
  • 移动应用程序

1.3 C# 工作原理


1.3.1 什么是编程语言?


编程语言(例如 C#)可用于编写希望计算机执行的指令。每一种编程语言都有自己的语法。

编程语言的作用是让人们能以人类可读且可理解的方式表达意图。

用编程语言编写的指令称为"源代码",或简称为"代码"。

1.3.2 什么是编译?


称为编译器的特殊程序将源代码转换为**计算机中心处理单元 (CPU) **可执行的其他格式(机器码)。

为什么需要编译代码? 尽管大多数编程语言一开始似乎都比较难懂,但它们比计算机的首选语言更容易被人类理解。 CPU 理解通过打开或关闭数千个或数百万个小开关来表示的指令。 编译器通过将人类可读的指令转换为计算机可理解的指令集来连接这两个世界。

C# 的运行环境是 CLR,结合了编译器和解释器的特点,先将源码编译为中间语言IL,再动态运行,推荐书籍《CLR via C#》

2. 环境配置


此处使用的.net8 + vscode

2.1 下载安装 VS Code


VS Code官网

2.2 下载安装 .Net8


.Net官网

检验 .Net 是否安装成功:

示例

D:\>dotnet --version
8.0.204

2.3 安装 VS Code C# 扩展


2.3.1 修改 VS Code 扩展默认安装位置


  1. 先将扩展插件extensions从默认安装路径剪切到你真正想要存放的位置

C:\Users\(用户名)\.vscode\extensions\剪切到存放的位置,此处以D:\extensions为例

注意不要与 VS Code 安装目录放在一起,vscode 更新时会删除的

  1. 使用mklink命令创建快捷方式,使用\D参数创建软链接

    Microsoft Windows [版本 10.0.19044.1288]
    (c) Microsoft Corporation。保留所有权利。

    C:\Users\星痕Sky>mklink
    创建符号链接。

    MKLINK [[/D] | [/H] | [/J]] Link Target

         /D      创建目录符号链接。默认为文件
                 符号链接。
         /H      创建硬链接而非符号链接。
         /J      创建目录联接。
         Link    指定新的符号链接名称。
         Target  指定新链接引用的路径
                 (相对或绝对)。
    

    C:\Users\星痕Sky>

输入mklink /D "<原路径>" "<真正存放的路径>"

此处的例子就是:mklink /D "C:\Users\星痕Sky\.vscode\extensions" "D:\extensions"

看到创建成功的输出即可

2.3.2 安装 C# 扩展


需要安装的扩展如下

  • IntelliCode for C# Dev Kit(安装这个后下面几个也会自动安装)
  • C#
  • C# Dev Kit
  • .Net Install Tool

3. 第一行代码:Hello World


3.1 Hello World!


csharp 复制代码
Console.WriteLine("Hello World!");

输出

Hello World!

注意:C#是大小写敏感的,比如不要将Console错输成console了,单双引号不能混用

错误示例

csharp 复制代码
Console.WriteLine('Hello World!');

输出

(1,19): error CS1012: Too many characters in character literal

第 1 行的第 19 个字符指出了问题所在,后面是错误信息

3.2 Console.Write 和 Console.WriteLine


区别:
Console.WriteLine在末尾加了\n换行符
Console.Write却没有

相关推荐
__water7 小时前
『功能项目』回调函数处理死亡【54】
c#·回调函数·unity引擎
__water7 小时前
『功能项目』眩晕图标显示【52】
c#·unity引擎·动画事件
__water8 小时前
『功能项目』第二职业法师的平A【57】
c#·unity引擎·魔法球伤害传递
__water10 小时前
『功能项目』战士的伤害型技能【45】
c#·unity引擎·战士职业伤害型技能
君莫愁。11 小时前
【Unity】检测鼠标点击位置是否有2D对象
unity·c#·游戏引擎
Lingbug12 小时前
.Net日志组件之NLog的使用和配置
后端·c#·.net·.netcore
咩咩觉主12 小时前
Unity实战案例全解析:PVZ 植物卡片状态分析
unity·c#·游戏引擎
Echo_Lee012 小时前
C#与Python脚本使用共享内存通信
开发语言·python·c#
__water19 小时前
『功能项目』QFrameWork框架重构OnGUI【63】
c#·unity引擎·重构背包框架
Crazy Struggle19 小时前
C# + WPF 音频播放器 界面优雅,体验良好
c#·wpf·音频播放器·本地播放器