C# 入门简介

关于C#

​ C# (读作C Sharp)是由微软公司开发的一种面向对象、类型安全、高效且简单的编程语言,最初于 2000 年发布,并随后成为 .NET 框架的一部分。所以学习C#语言的同时,也是需要同步学习.NET框架的,不过要要注意C#与.NET的对应版本。

​ C#语言和Java类似,是一门简单易用、应用广泛的高级编程语言。结合了面向对象编程、事件驱动、泛型编程、异步编程等众多现代化编程概念,属于编译性语言。主要特点:

1. 面向对象:封装(类与对象)、继承(类继承、接口继承)、多态等(类继承、多接口继承实现)。2. 类型安全:强类型安全,在编译时检测,提高代码可靠性。3. 交互性,易于各种语言交互,如VBF#、C++、JavaScript、Python等。 GC管理:自动内存管理,C#4. 采用垃圾回收机制,无需申请、释放内存,减少内存泄漏风险。 开源跨平台:.NETCore框架是开源跨平台的,支持多种操作系统。5. 强大的标准库,C#拥有丰富的标准类库(.NET Framework或.NET Core),内置各种功能和工具。 宇宙第一开发IDE6. Visual Studio 提供了强大的开发、调试和设计工具。

1.1 C#可以做什么?(应用领域)

在这里插入图片描述

①Windows 桌面应用开发(QQ、微信、execel)
  C# 结合 Windows Forms 或 WPF(Windows Presentation Foundation)技术,可以创建出功能丰富、界面美观的 Windows 桌面应用程序。许多企业级的内部管理系统、办公软件等都是基于 C# 开发的 Windows 应用,如微软的 Office 系列软件中的部分功能模块就是使用 C# 开发的,这些应用能够充分利用 Windows 操作系统的特性和资源,提供高效的用户交互体验。

②WEB网页程序、企业Cloud云服务

③游戏开发(UNITY)
  借助 Unity 游戏引擎,C# 成为了游戏开发领域的热门语言之一。Unity 提供了强大的游戏开发框架和工具集,C# 用于编写游戏的逻辑代码,如角色控制、游戏规则实现、用户界面交互等。大量的手机游戏、独立游戏以及一些大型游戏的部分模块都是使用 C# 在 Unity 中开发的,例如《王者荣耀》等热门游戏的部分功能开发就有 C# 的参与,它能够高效地处理游戏中的各种复杂逻辑和实时交互需求。

④企业级应用开发
  在企业级应用方面,C# 与.NET 框架紧密结合,可以构建大型的分布式系统、Web 应用程序后端等。企业资源规划(ERP)系统、客户关系管理(CRM)系统等都可以使用 C# 进行开发,利用.NET 框架提供的丰富类库和技术支持,实现高效的数据处理、业务逻辑封装以及与数据库等其他系统的集成,满足企业复杂的业务需求和高并发处理要求。

⑤移动应用开发(借助 Xamarin)
  通过 Xamarin 技术,C# 可以用于开发跨平台的移动应用程序,包括 iOS 和 Android 平台。开发者可以使用 C# 编写一套代码,然后通过 Xamarin 的编译工具将其转换为适用于不同移动平台的应用程序。这使得企业在开发移动应用时能够节省开发成本和时间,同时保证应用在不同平台上的一致性和稳定性,例如一些企业内部使用的移动办公应用就可以采用这种方式开发。

⑥Lot、AI

1.2 C#与.NET平台的关系

​ C/C++的编译器直接转换成机器指令;

​ C#的编译器首先会把C#代码转化成IL中间语言,然后.NET由这个CLR动态的转换成机器指令;

​ C#的优点?

​ C#中间多了一个步骤,是为了提升开发效率,C/C++直接转换成机器指令这个过程太过复杂繁琐,而C#是依据当前命令需要执行某些机器指令时才去动态转换对应的机器指令(按需转换),这样开发效率更高,但是性能也更低。

1.2 C#代码演示

通过cmd运行exe文件。

.NET Framework

.NET CORE

using System;
namespace MySpace{class Program{static void Main(string[] args){Console.WriteLine("这是我们的代码演示")Console.ReadKey();}}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

处理使用 mapstruct 导致分页总数丢失问题

问题 PageHelper 分页总数不对,返回的总数老是等于当前页数目 分析 问题出现在 domain 转 VO 这个步骤,当我把数据库实体类型的 list 转为 vo 类型的 list,然后放进 PageInfo 则会丢失分页信息; 解决方式 从数据库查询出来后…

LabVIEW中的icon.llb 库

icon.llb 库位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform 目录下,是 LabVIEW 系统中的一个重要库。它的主要功能是与图标相关的操作,提供了一些实用的 VI 用于处理 LabVIEW 图标的显示、修改和设置。通过该库&#x…

【ProtoBuf】文件编写及序列化

ProtoBuf文件编写及序列化 文章目录 ProtoBuf文件编写及序列化快速上手ProtoBuf创建.proto 文件指定Proto3语法Package声明符定义消息(message)定义消息字段编译命令 序列化与反序列化的使用小结 快速上手ProtoBuf 为了快速上手以及完整的使用ProtoBuf,我们将编写一…

Java高频面试之SE-22

hello啊,各位观众姥爷们!!!本baby今天又来了!哈哈哈哈哈嗝🐶 Java中的Optional了解多少? 在 Java 中,Optional 是 Java 8 引入的一个容器类,用于显式处理可能为 null 的…

250217-数据结构

1. 定义 数据结构是数据的存储结构,即数据是按某些结构来存储的,比如线性结构,比如树状结构等。 2. 学习意义 数据结构是服务于算法的,为了实现算法的高效计算,所以将数据按特定结构存储。比如使用快速插入或删除的…

PyCharm2024使用Python3.12在Debug时,F8步进时如同死机状态

在使用时PyCharm2024+Python3.12,在程序进行调试时,按F8步进时如同死机状态。 1、相同的程序在PyCharm2023+Python3.9时是没有问题的,因此决定重装PyCharm2023+Python3.9,进行调试——调试OK。 …

C/C++ | 每日一练 (2)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 C/C | 每日一练 (2)题目参考答案封装继承多态虚函数底…

DeepSeek应用-一秒对书本要点分析并创建思维脑图

2025年开始啦,从DeepSeek的火爆程度来看,今年必须紧盯DS的发展,AI不会淘汰人,AI只会淘汰不会使用的人。从文心一言、豆包、Kimi到DS,基本上从功能上大致相同,但是DeepSeek的开源着实在眼界和格局上更胜一筹&#xff0c…

4、IP查找工具-Angry IP Scanner

在前序文章中,提到了多种IP查找方法,可能回存在不同场景需要使用不同的查找命令,有些不容易记忆,本文将介绍一个比较优秀的IP查找工具,可以应用在连接树莓派或查找IP的其他场景中。供大家参考。 Angry IP Scanner下载…

android 的抓包工具

charles 抓包工具 官网地址 nullCharles Web Debugging Proxy - Official Sitehttps://www.charlesproxy.com/使用手册一定记得看官网 SSL Certificates • Charles Web Debugging Proxy http请求: 1.启动代理: 2.设置设备端口 3.手机连接当前代理 …

Java常用工具类详解

目录 一、Java 中的数学利器:java.lang.Math 类详解 1.常用属性 2.常用方法 ⑴.static int abs(int a) ⑵.static double ceil(double a) ⑶.static double floor(double a) ⑷.static int max(int a, int b) 和 static int min(int a, int b) ⑸.static do…

STM32 低功耗模式

目录 背景 低功耗模式 睡眠模式 进入睡眠模式 退出睡眠模式 停止模式 进入停止模式 退出停止模式 待机模式 进入待机模式 退出待机模式 程序 睡眠模式 休眠模式配置 进入休眠模式 退出睡眠模式 停止模式 停止模式配置 进入停止模式 退出停止模式 待机模式…

uniapp 使用v-html在微信小程序中渲染成rich-text如何显示文本溢出省略

一、问题描述 小伙伴有个需求,想在uniapp开发的微信小程序的一个列表中对内容进行显示溢出显示省略号的控制:当文本超出一行之后,显示…。 经过尝试,无法在v-html所在的节点进行ellipise的控制。 二、解决方案 1.增加函数&…

VMware 17 安装 VMTools(win 7旗舰 X64)

由于在VM 17中安装的 win 7虚拟机没有安装VM Tools 的原因,界面有大黑边,也无法直接拖拽复制粘贴文件(但是如果只是要复制文件,最简单的方法还是使用U盘),所以下面开始安装VM Tools 。 若直接选择VM软件中的…

【MySQL】我在广州学Mysql 系列——Mysql 日志管理详解

ℹ️大家好,我是练小杰,今天又是新的一周了,又该摆好心态迎接美好的明天了!!!😆 本文主要对Mysql数据库中的日志种类以及基本命令进行讨论!! 回顾:&#x1f4…

python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注

【1】引言 前序学习进程中,已经使用cv2.findContours()函数cv2.drawContours()函数实现图像轮廓识别和标注,这种标注沿着图像的轮廓进行,比较细致。相关文章链接为: python学opencv|读取图像(六十四)使用…

DeepSeek-V3 技术报告

DeepSeek-V3 Technical Report https://arxiv.org/abs/2412.19437 1. 核心贡献 DeepSeek-V3 是一个拥有 6710 亿参数的大规模混合专家(MoE)语言模型,每个 token 激活 370 亿参数。 该模型通过创新的架构设计和训练策略,实现了高效…

PCIe7.0信号完整性优化的一些方向

首先考虑过孔stub的影响,分别仿真10mil stub,6mil stub,3mil stub以及无stub四种情况,观察insertion loss/ return loss/TDR Impedance profile、crosstalk四个参数对比情况。 仿真对比结果如下: 其次,考虑…

学习threejs,使用PointLight点光源

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PointLight 二、&…

30填学习自制操作系统第二天

今天要干什么? 初步了解汇编语言使用汇编重新写个昨天的镜像文件继续开发 一: 什么是电信号? 电脑的处理中心是CPU,即“central process unit”的缩写,翻译成中文就是“中央处理单元”,顾名思义,他就是…