C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】

前言

  1. 这可以说是我第一次正式的踏入C#的学习道路,我真没想过我两年前是怎么跳过C#去学Unity3D游戏开发的(当然了,游戏开发肯定是没有成功的,都是照搬代码)。而现在,我真正地学习一下C#,就和去年学的Python那样。
  2. C#对于我来说,可以做的和我想做的有很多,比如:桌面应用开发,移动应用开发,游戏开发,等等,不仅如此,学习C#对于我以后学习C/C++也是起到很大的帮助的。
  3. 虽然我对这门语言抱有很多看法,但是学总比不学好,谁叫我和它有如此缘遇。
  4. 希望我的路顺风顺水。

1.什么是C#和.NET?

C# (C Sharp)

  1. C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。

  2. C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言

  3. C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#.。

请添加图片描述

.NET

  1. .NET 是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序。 .NET 可以运行使用多种语言编写的程序,其中 C# 是最常用的语言。 .NET 依赖于许多大规模应用在生产中使用的高性能运行时。

  2. .NET 平台专为实现高效工作、性能、安全性和可靠性而设计。 它通过垃圾回收器 (GC) 提供自动内存管理。 由于使用了 GC 和严格的语言编译器,.NET 的类型安全且内存安全。 它通过 async/await 和 Task 基元实现并发。 .NET
    包含大量库,这些库具有广泛的功能,并针对多个操作系统和芯片体系结构的性能进行了优化。

请添加图片描述

2.安装.NET

1 .NET是一种用于构建多种应用的免费开源开发平台,可以使用C#、F#或Visual Basic编写.NET应用。
2. 部署.NET平台用于运行C#程序

  1. NET8是目前最新的.NET版本,它是世界领先的开发平台之一的最新 LTS 版本。.NET 8 提供了数以千计的性能、稳定性和安全性改进,以及平台和工具增强功能,有助于提高开发人员的工作效率和创新速度。

  2. 话不多说,直接前往Microsoft官网下载:https://dotnet.microsoft.com/zh-cn/download

  3. 点击中间的下载按钮即可。
    请添加图片描述

  4. 下载完成后打开文件直接安装。等待安装完成即可……请添加图片描述

  5. 安装完成后,使用cmd命令验证一下是否成功。

dotnet --version
  1. 当显示版本号后,则说明安装成功了。
    请添加图片描述

3.VSCode配置环境

  1. 启动Visual Studio Code ,搜索“ C#” 扩展,并下载……请添加图片描述
  2. 下载完成后重启软件。

4.执行"Hello World"代码

  1. C#执行“Hello World”其实也挺简单的。
  2. 我们打开终端,确定好文件夹,输入一下命令创建一个工程项目
dotnet new console

请添加图片描述

  1. 选择一个.cs后缀的文件,编写好代码。
  2. 在控制台输入一下命令,可直接执行C#代码(当然了,对于初学者来说包括我,什么类,命名空间,是啥都不知道,但是以后我们会慢慢熟悉的)
dotnet run

请添加图片描述

  1. 我们也可以使用快捷键 Ctrl + F5 实现调试运行。

5.Code Runner运行代码

  1. 使用cmd命令或者调试运行往往是不太灵活和快速的,为了更加方便,我们可以使用VScode的一个插件:Code Runner
  2. 在扩展市场搜索 “Code Runner” ,点击安装。
    . 请添加图片描述
  3. 安装好后进入该扩展的扩展设置,将 “Run In Terminal” 选项勾选上,这样代码就会在终端上执行。
    请添加图片描述
  4. 最后我们点击 “Executor Map"的编辑选项,我们找到"csharp”,将里面的参数改为 “dotnet run” 即可
    请添加图片描述请添加图片描述
  5. OK,完成后我们可以直接点击右上角的三角形按钮就可以直接运行C#程序了,十分的方便!

请添加图片描述

结语

  1. 有关C#从认识到搭建运行环境到这里就结束了,如果有地方有问题还请大家指出
  2. 下期见 bye……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/370173.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32--揭秘中断(简易土货版)

抢占优先级响应优先级 视频学习--中断​​​​​​​

队列---数据结构

定义 队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。 队头(Front)&a…

单片机的50个电路

单片机 电源 声音模块 收音机 485 蓝牙 光耦 can 光敏电阻 单片机 矩阵 单片机电路 时钟 ADC 接口电路 红外发射 显示模块 红外接收 蜂鸣器驱动 流水灯 usb供电 烧录电路 数码管 EEPROM LCD1602电路 数码管 max485 红外开关 译码器 移位寄存器 步进电机控制 复位电路 下载电路 …

Python之列表的增删改查

列表的查 a ["klvchen", "tom", "jack", "james", "lily", "lucy"] print(a[1:4]) 结果: [tom, jack, james] 注意: 列表的切片的下标以 0 为开始。即: 下标0 --> klvchen…

基于相关向量机和特征选取的短期负荷预测MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 参考文献 相关向量机和特征选取技术在短期负荷预测中的应用——刘刚 运行环境——MATLAB 程序简介 通过改进传统的Relief算法,提出一种短期负荷预测特征输入量的选取方法,并使用相…

【webpack】技巧使用

webpack和TypeScript 安装webpack相关内容安装TS相关内容配置初始化数据初始化运行展示和目录展示报错解决(缺失文件配置) 安装前端必备神奇lodash测试一下entry配置index.html模板配置修改打包出来的index.html的titleinject注入chunks 属性多页面配置 …

C# 信号量(Semaphore)详细使用案例

文章目录 简介信号量的工作原理使用场景使用示例其他使用实例1. 数据库连接池管理2. 文件读写同步3. 生产者消费者问题4. 打印任务队列同步5. Web服务器并发请求限制 简介 在C#中,信号量(Semaphore)是.NET框架提供的一个同步类,位…

【C/Python】Gtk部件ListStore的使用

一、C语言 在GTK中,Gtk.ListStore是一个实现了Gtk.TreeModel接口的存储模型,用于在如Gtk.TreeView这样的控件中存储数据。以下是一个简单的使用Gtk.ListStore的C语言示例,该示例创建了一个列表,并在图形界面中显示: …

【Vue项目中使用videojs播放本地mp4的项目】

目录 以下是一个使用video.js播放本地mp4文件的Vue项目代码示例:1. 首先,在终端中使用以下命令安装video.js和video.js插件:2. 在Vue组件中,引入video.js和videojs-youtube插件:3. 配置video-js.css文件,可…

DS:时间复杂度和空间复杂度

创作不易,感谢三连! 一、算法 1.1 什么是算法 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。…

AI新工具(20240204)pot-desktop - 为用户提供便捷的文字翻译和识别功能;ChatALL - 能够同时向多个AI机器人发送提示

pot-desktop - 为用户提供便捷的文字翻译和识别功能 pot-desktop pot-desktop是一款备受欢迎的跨平台划词翻译和OCR软件,为用户提供便捷的文字翻译和识别功能。 功能点: 划词翻译:用户只需将鼠标光标悬停在需要翻译的文字上,po…

028 方法的重载

方法重载的定义 使用案例 public static void main(String[] args) {// 匹配到max(int a, int b)System.out.println(max(1, 3));// 匹配到max(double a, double b)System.out.println(max(1L, 3L));// 匹配到max(double a, double b, double c, double d),int自动…

3D 转换

1,3D的特点: 近小远大 物体后面遮挡不可见 2,3D移动 translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向 transform:translateX(100px):仅仅是在x轴上移动…

MySQL查询缓存

MySQL查询缓存 MySQL在查询的时候首先会查询缓存,如果缓存命中的话就直接返回结果,不需要解析sql语句,也不会生成执行计划,更不会执行;如果没有命中缓存,则再进行SQL解析以及进行查询,并将结果返…

steam搬砖项目赚钱吗?操作流程看这一篇就够了

很多人应该听说过steam,它是国外一款知名的游戏社交平台,也是目前世界上最大的游戏平台之一。而steam搬砖项目,关键就是靠信息差。我们要做的就是在steam以低价买入道具装备,然后上架到网易buff卖出,赚取差价。 什么人…

mac下载工具:JDownloader 2 for Mac 中文版

JDownloader是一款开源的下载管理工具,主要使用Java编程语言开发,因此它能够在支持Java的操作系统上运行,包括Windows、Linux和Mac OS。这款软件专门为那些需要通过网盘下载文件的用户提供便利,它支持众多流行的网盘服务&#xff…

机器学习 | 解析聚类算法在数据检测中的应用

目录 初识聚类算法 聚类算法实现流程 模型评估 算法优化 特征降维 探究用户对物品类别的喜好细分(实操) 初识聚类算法 聚类算法是一种无监督学习方法,用于将数据集中的对象按照相似性分组。它旨在发现数据中的内在结构和模式,将具有相似特征的数据…

MySQL运维实战(5.3) MySQL数据乱码的一些情况

作者:俊达 表数据乱码 表数据出现乱码的情况通常是由于数据的真实编码与相关参数不一致引起的,其中包括常见的参数如character_set_client、character_set_results、字段编码以及终端编码等。确保这些参数保持一致,可以有效预防和解决乱码问…

【Web】CVE-2021-22448 Log4j RCE漏洞学习

目录 复现流程 漏洞原理 复现流程 启动HTTP->启动LDAP->执行Log4j vps起个http服务,放好Exploit.class这个恶意字节码 LDAPRefServer作为恶意LDAP服务器 import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URL; import javax.ne…

C++ 动态规划 线性DP 最长共同子序列

给定两个长度分别为 N 和 M 的字符串 A 和 B ,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M 。 第二行包含一个长度为 N 的字符串,表示字符串 A 。 第三行包含一个长度为 M 的字符串,表…