C# 基本信息介绍

news2024/12/24 20:06:53

总目录


前言

对 C# 做一个基本信息介绍,让我们对 C# 有个基本的认识。
在进行本文的阅读之前,可以瞧瞧 编程基础知识简述 简单的入个门儿。


一、C#

1. C# 概述

C#是由微软公司发布的一种由C和C++衍生出来的面向对象的编程语言。

2. C# 详细介绍

  • C#(读作“C Sharp”)
  • C# 是面向对象的面向组件的 高级编程语言
  • C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如,没有宏以及不允许多重继承)。
  • C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为 .NET开发 的首选语言。
  • C# 语言是适用于 .NET 平台(免费的跨平台开源开发环境)的最流行语言。 C# 程序可以在许多不同的设备上运行,从物联网 (IoT) 设备到云以及介于两者之间的任何设备。 可为手机、台式机、笔记本电脑和服务器编写应用。
  • C# 是一种跨平台的通用语言,可以让开发人员在编写高性能代码时提高工作效率。 C# 是数百万开发人员中最受欢迎的 .NET 语言。 C# 在生态系统和所有 .NET 工作负载中具有广泛的支持。 基于面向对象的原则,它融合了其他范例中的许多功能,尤其是函数编程。 低级功能支持高效方案,无需编写不安全的代码。 大多数 .NET 运行时和库都是用 C# 编写的,C# 的进步通常会使所有 .NET 开发人员受益。

3. C# 可以做什么?

C#是.NET框架中最常用的编程语言之一,可以用于多种应用程序开发,包括但不限于以下领域:

  • 桌面应用程序开发:使用C#Windows Presentation Foundation(WPF)Windows Forms,可以开发功能丰富的桌面应用程序,如图形用户界面(GUI)应用程序、办公套件、数据库管理工具等。
  • Web应用程序开发:使用C#ASP.NET,可以构建强大的Web应用程序,包括企业级网站、电子商务平台、博客、社交网络和内容管理系统等。
  • 移动应用程序开发:使用C#Xamarin框架,可以开发跨平台的移动应用程序,同时在i0S、Android和 Windows等多个平台上运行。
  • 游戏开发:C#可以与Unity游戏引擎结合使用,创建各种类型的游戏,包括2D和3D游戏,以及跨平台的移动游戏。
  • 云应用程序开发:使用C#.NETCore,可以构建云原生应用程序,将应用程序部署到云平台(如Microsoft Azure)上,并利用云服务(如云存储、数据库、人工智能等)进行扩展和增强。
  • 数据科学和机器学习:C#提供了丰富的库和框架(如ML.NET),可以用于数据处理、统计分析和机器学习任务,支持开发智能应用程序。
  • 物联网(IoT)应用程序开发:使用C#和.NETCore,可以编写与物联网设备(如传感器、嵌入式系统)交互的应用程序,实现物联网解决方案。

4. C# 功能

  • C# 对于初学者而言很容易上手,但同时也为经验丰富的专业应用程序开发人员提供了高级功能。 你很快就能提高工作效率。 你可以根据应用程序的需要学习更专业的技术。

  • C# 应用受益于 .NET 运行时的自动内存管理。 C# 应用还可以使用 .NET SDK 提供的丰富运行时库。 有些组件独立于平台,例如文件系统库、数据集合与数学库。 还有一些组件特定于单个工作负载,例如 ASP.NET Core Web 库或 .NET MAUI UI 库。 NuGet 的丰富开源生态系统增强了作为运行时一部分的库。 这些库提供更多可用的组件。

  • C# 属于 C 语言家族。 如果你使用过 CC++JavaScriptJava,那么也会熟悉 C# 语法。 与 C 语言家族中的所有语言一样,分号 (;) 定义语句的结束。 C# 标识符区分大小写。 C# 同样使用大括号({})、控制语句(例如 if、else 和 switch)以及循环结构(例如 for 和 while)。 C# 还具有适用于任何集合类型的 foreach 语句。

  • C# 是一种强类型语言。 声明的每个变量都有一个在编译时已知的类型。 编译器或编辑工具会告诉你是否错误地使用了该类型。 可以在运行程序之前修复这些错误。 以下基础数据类型内置于语言和运行时中:值类型(例如 int、double、char)引用类型(例如 string)数组其他集合。 编写程序时,你会创建自己的类型。 这些类型可以是值的 struct 类型,也可以是定义面向对象的行为的 class 类型。 可以将 record 修饰符添加到 structclass 类型,以便编译器合成用于执行相等性比较的代码。 还可以创建 interface 定义,用于定义实现该接口的类型必须提供的协定或一组成员。 还可以定义泛型类型和方法。 泛型使用类型参数为使用的实际类型提供占位符。

  • 编写代码时,可以将函数(也称为方法)定义为 struct 和 class 类型的成员。 这些方法定义类型的行为。 可以使用不同数量或类型的参数来重载方法。 方法可以选择性地返回一个值。 除了方法之外,C# 类型还可以带有属性,即由称作访问器的函数支持的数据元素。 C# 类型可以定义事件,从而允许类型向订阅者通知重要操作。 C# 支持面向对象的技术,例如 class 类型的继承和多形性。

  • C# 应用使用异常来报告和处理错误。 如果你使用过 C++Java,则也会熟悉这种做法。 当无法执行预期的操作时,代码会引发异常。 其他代码(无论位于调用堆栈上面的多少个级别)可以选择性地使用 try - catch 块进行恢复。

二、.NET

既然介绍C# 就避不开要了解一下.NET

1. .NET 简介

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

需要先知道:.NET 是一个平台,而C# 是编写 可以运行于.NET 平台的程序的一种语言。同理我们也可用F# 编写.NET程序

2. .NET支持的应用

在这里插入图片描述

3. .NET 语言

Microsoft 在 .NET 平台上提供 3 种语言 – C#、F# 和 Visual Basic

4. NET实现

在这里插入图片描述

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

三、开发环境准备

1. 什么叫做IDE

  • 集成开发环境(简称:IDE;英文名:Integrated Development Environment )
  • 是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

简单点理解:IDE 就是程序员写代码的工具。

2. 下载并安装VS2022

通常C# 开发者 使用 Visual Studio 2022 进行开发工作

  • 下载:Visual Studio 2022 下载
  • 安装:安装的时候注意选择好对应的工作负荷即可,其他基本都是下一步下一步即可。

四、学习资料

通过这里收集的资料,我们可以帮助快速高效的学习C#

  • 官方 - C#文档
  • 官方 - .NET 文档
  • DotNetGuide - GitHub开源项目 、DotNetGuide - 加速地址
  • 全面的C#/.NET自学入门指南
  • C#/.NET/.NET Core面试宝典(基础版)
  • 官方技术文档

结语

回到目录页: C# 知识汇总
希望以上内容可以帮助到大家,如文中有不对之处,还请批评指正。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『Linux学习笔记』FRPC 详细介绍及配置解析!

『Linux学习笔记』FRPC 详细介绍及配置解析! 文章目录 一. FRPC 详细介绍及配置解析FRPC 的主要功能FRPC 配置文件解析全局配置代理配置第一个代理服务第二个代理服务 配置文件整体工作流程常见配置项说明FRPC 的使用步骤注意事项结论 二. 参考文献 一. FRPC 详细介…

WPS工具栏灰色怎么办

WPS离线不登录,开启工具栏等相关功能 当你在使用WPS的过程中,若因网络问题或其他特殊原因,导致无法登录使用WPS时,可根据以下步骤开启离线兼容模式,开启此模式后,可在未登录的状态下,激活并使用…

【微信小程序】2|轮播图 | 我的咖啡店-综合实训

轮播图 引言 在微信小程序中,轮播图是一种常见的用户界面元素,用于展示广告、产品图片等。本文将通过“我的咖啡店”小程序的轮播图实现,详细介绍如何在微信小程序中创建和管理轮播图。 轮播图数据准备 首先,在home.js文件中&a…

JavaEE进阶--mybatis使用测试日志参数传递浏览器访问

文章目录 1.项目创建2.mybatis的使用2.1创建初始页面2.2补充yml文件2.3navicate表2.4用户类的编写2.5查询接口2.6运行测试 3.细节说明3.1java开发规范3.2关于包3.3持久层代码 4.测试文件4.1如何生成4.2生成位置4.3补充方法 5.配置mybatis日志6.参数传递6.1单个参数6.2多个参数 …

IDEA用jformdesigner插件做管理系统MVC架构

在 IntelliJ IDEA 中结合 JFormDesigner 插件,通过 Swing 框架实现一个管理系统的 MVC 架构是一种经典的开发方式。以下是具体的步骤和实现思路,包含从项目创建到 MVC 架构的核心代码实现。 1. 项目结构设计 为了清晰的 MVC 分层架构,建议按…

学习Cookie 提升

目录 Cookie 的覆盖​​​​​​​ Cookie下的path 特点 设置Cookie 路径 实例 Cookie的最大存活时间 设置Cookie 存活时间 实例 Cookie 和session的区别 和联系 Cookie 的覆盖 当 key相同 和只要path的上级目录的路径相同,就可以被替换掉 value 值 如下图…

021、深入解析前端请求拦截器

目录 深入解析前端请求拦截器: 1. 引言 2. 核心实现与基础概念 2.1 基础拦截器实现 2.2 响应拦截器配置 3. 实际应用场景 3.1 完整的用户认证系统 3.2 文件上传系统 3.3 API请求缓存系统 3.4 请求重试机制 3.5 国际化处理 4. 性能优化实践 4.1 请求合并…

4、mysql高阶语句

mysql高阶语句是对复杂的条件进行查询的操作。 排序—order by 加了desc表示由大到小 1、查询name和score,地址都是云南西路的按id进行由小到大排序 2、查询name和score,先按hobbid进行排序,再把结果按id进行排序 第一段字段必须要有相同的…

叉车作业如何确认安全距离——UWB测距防撞系统的应用

叉车在工业环境中运行,常常需要在狭窄的空间内完成货物的搬运和堆垛,这对操作员的技术水平和安全意识提出了极高的要求。传统的叉车作业依赖操作员的经验和视觉判断来确认安全距离,然而这种方式往往存在误差,特别是在视线受阻或光…

LLaVA 多模态大模型:两阶段训练,实现视觉与语言模态的高效融合

LLaVA 多模态大模型:两阶段训练,实现视觉与语言模态的高效融合 论文大纲理解确认目标分析过程实现步骤效果展示金手指 结构分析1. 层级结构分析叠加形态(从基础到高级)构成形态(部分到整体)分化形态&#x…

PostgreSQL 的历史

title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…

台球助教平台系统开发APP和小程序信息收藏功能需求解析(第十二章)

以下是开发台球助教系统客户端(APP,小程序,H5)几端的信息收藏功能的详细需求和功能说明,内容比较详细,可以说是一个教科书式的详细说明了,这套需求说明不仅仅用在我们的台球助教系统程序上&…

SRE 与 DevOps记录

flashcat https://flashcat.cloud

Linux Shell 脚本编程基础知识篇—shell 运算命令详解

ℹ️大家好,我是练小杰,本文继续Linux shell脚本编程的基础知识内容,接着讲算术运算命令的详细操作~~ 复习:【shell简介以及基本操作】 更多Linux 相关内容请点击👉“Linux专栏”~ 文章目录 let运算命令的用法let 的高…

2002 - Can‘t connect to server on ‘192.168.1.XX‘ (36)

参考:2002 - Can‘t connect to server on ‘192.168.1.XX‘ (36) ubantu20.04,mysql5.7.13 navicat 远程连接数据库报错 2002 - Can’t connect to server on ‘192.168.1.61’ (36) 一、查看数据库服务是否有启动,发现有启动 systemctl status mysql…

GitCode 光引计划投稿|MilvusPlus:开启向量数据库新篇章

在人工智能和大数据时代,向量数据库作为处理非结构化数据的核心技术,正变得越来越重要。MilvusPlus,作为「光引计划」的一部分,应运而生,旨在提供一个高性能、易扩展、全功能的向量数据库解决方案。项目背景根植于对现…

一起学Git【第四节:添加和提交文件】

通过前三节的学习,基本上对Git有了初步的了解,下面开始进行文件的添加和提交的流程。 这里主要涉及四个命令: git init 创建仓库git status查看仓库状态git add添加至暂存区git commit提交文件之前已经使用过git init命令了,此处不再具体讲解。参照一起学Git【第二节:创建…

RISC-V架构的压缩指令集介绍

1、压缩指令集介绍 RISC-V的压缩指令集(C扩展)‌是一种设计用于减少代码大小和提高性能的技术。标准的RISC-V指令是32位,压缩指令集可以将部分32位的指令用16位的指令替代,从未减小程序占用存储空间的大小,提高指令密…

CosyVoice安装过程详解

CosyVoice安装过程详解 安装过程参考官方文档 前情提要 环境:Windows子系统WSL下安装的Ubunt22.4python环境管理:MiniConda3git 1. Clone代码 $ git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git # 若是submodule下载失败&…

docker 容器的基本使用

docker 容器 一、docker是什么? 软件的打包技术,就是将算乱的多个文件打包为一个整体,打包技术在没有docker容器之前,一直是有这种需求的,比如上节课我把我安装的虚拟机给你们打包了,前面的这种打包方式是…