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

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();
            }
		}
}

相关文章:

  • Flutter 中的数据跨层传递方案
  • Qt之线程的创建与启动
  • 【JAVA工程师从0开始学AI】,第四步:闭包与高阶函数——用Python的“魔法函数“重构Java思维
  • 深入理解同步与异步I/O:从原理到实战
  • vue 判断字符串开头是http或者https
  • 2025-2-17算法打卡
  • 使用神经网络对驾驶数据进行道路类型分类
  • 《RCooper: 一个真实世界的大规模道路边协同感知数据集》学习笔记
  • C#异步/多线程编程中Task对象强大的功能介绍。
  • 三、tsp学习笔记——屏幕移植
  • UDP与TCP
  • Qt——连接MySQL数据库之ODBC的方法详细总结(各版本大同小异,看这一篇就够了)
  • Python常见面试题的详解10
  • STM32 串口转 虚拟串口---实现USB转串口功能
  • Git高级用法
  • MySQL-事务隔离级别
  • FTP自动上传/vue打包自动上传
  • Redis(高阶篇)02章——BigKey
  • 【私人笔记】Web前端
  • 计算机网络(涵盖OSI,TCP/IP,交换机,路由器,局域网)
  • 交响4K修复版《神女》昨晚上演,观众听到了阮玲玉的声音
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与造船工艺间
  • 哈马斯与以色列在多哈举行新一轮加沙停火谈判
  • 有关“普泽会”,俄官方表示:有可能
  • 幼儿园教师拍打孩子额头,新疆库尔勒教育局:涉事教师已被辞退
  • 科普|认识谵妄:它有哪些表现?患者怎样走出“迷雾”?