C#是什么,有什么用?

如题所述

C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言。可以开发开发一些小工具或者一些小项目。

运行于.NETFramework和.NETCore(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似。

它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。

【引言】近十年,C#的地位一直在稳步上升,常年位居TIOBE榜单TOP5。毫无疑问,C#是一门广泛流行的语言。相信每个使用C#的开发者都会真心感叹一句“真香”。

发展历史:

C#最初在2000年6月被微软公司发布,主要由安德斯·海尔斯伯格主持开发,成为第一个面向组件的编程语言。

C#的初代名称是COOL。微软从1998年12月开始了COOL项目,这是一款专门为CLR设计的纯面向对象的语言。

1999年7月份,微软完成了COOL语言的一个内部版本。

原Borland公司的首席研发设计师安德斯·海尔斯伯格在微软开发了VisualJ++1.0,并逐步升级到了6.0版本。

2000年2月,COOL被正式更名为大家所熟知的C#。

SUN公司认为VisualJ++违反了Java开发平台的中立性,对微软提出了诉讼,双方随后达成厅外和解。

2000年6月,微软在其举行的“职业开发人员技术大会”上,发表了新的语言C#,正式取代VisualJ++。

设计目标:

C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言。

C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。

语言特点:

C#是一种安全的、稳定的、简单的、面向对象的编程语言,它不仅去掉了C++和Java中的一些复杂特性,还提供了可视化工具,能够高效地编写程序。

在C#中已经不再使用指针,而且不允许直接读取内存等不安全的操作。

它比C、C++、Java提供了更多的数据类型,并且每个数据类型都是固定大小的。

提供了命名空间来管理C#文件,允许在一个命名空间中创建一个或多个类,方便调用和重用。

C#也具有面向对象语言的基本特征,即封装、继承、多态。

目前最新版的C#已经能够跨平台(借助.NET),例如Mac、Linux等操作系统。

C#不仅能开发控制台应用,也能实现Windows窗体应用程序、网站、手机应用等多种程序。

主要功能:

可以方便地调用.NET库用做快速开发,如开发一些小工具或者一些小项目。

开发速度非常快,强烈推荐个人使用。

亦可开发大型应用,可使用Winform和WPF。

Windows桌面应用是C#的传统优势领域,现在主要有WPF和WindowsForms两个开发框架,不过随着近年Web前端的大爆发,现在越来越多人使用Electron开发桌面应用。QT也是桌面开发领域的一个强大竞争者。

C#还适合做http://ASP.NET的网页开发。

可以使用Unity做小型或大型游戏。

游戏应该是C#最热门的领域了,除了Unity,CryEngine也把C#列为首选语言。

C#移动开发框架有Xamarin和MAUI,不过也由于近年Web前端的大爆发,现在大部分移动应用都是使用前端技术开发的。

自然规范:

C#很好的总结了其他语言的优缺点,在基础语法上区分了值类型和引用类型。

它通过值类型,充分利用栈空间,非常高效。

这是一段在Unity中非常常见的代码,但是它没有在堆上分配空间,所有的操作均在栈上进行,GC压力为0。

优秀的语法设计和库函数设计,让程序员更容易写出快而自然的代码。

自然、规范、恰到好处的底层设计。

开发环境:

日常用VisualStudio作为IDE,开发体验直接拉满。

静态语言跑起来很麻烦,需要经过编译,不像动态语言可以直接执行。但是在调试体验上,C#配合VS,让人舒心太多。js的bug非常难发现,所以后续才有了typescript的出现,让动态语言不要那么放浪。C#调试好,编写体验也强。在智能提示的辅助之下,首先减少了低级书写错误,第二个就是可以少看文档,api的用法就算没有注释,从参数和返回值上也能猜一猜。

【总结】C#语言高效简洁,xaml强大易用,.net的代码库设计合理,如果你在Windows下开发GUI程序,不考虑其兼容其它平台,C#是最佳选择之一。

温馨提示:答案为网友推荐,仅供参考
相似回答