1.1C#简介

大家好,这是我的C#(读做 "C sharp")学习之旅,先简介一下我了解的C#吧!

首先,说到C#,就不得不提到微软的.NET。.NET是微软推出的软件开发和运行平台,允许应用程序通过Internet进行通讯和共享数据。不管应用程序使用的是那种操作系统、设备、编程语言,对用户来讲,不管使用的是手机还是电脑,都可以愉快的使用应用程序。对软件开发者来讲,.NET平台与语言无关,我们可以使用自己熟悉的编程语言来实现快速开发,而C#是.NET平台最优秀的语言。

.NET的核心框架叫.NET Framework,是它赋予了.NET丰富而强大的功能,现在最新的.NET Farmework是4.5版本的。经过多年的发展,.NET也日趋成熟。

好了,废话不多说,切入正题。

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

C#的特点:

1. 完全面向对象。

2. 支持分布式,之所以有C#,是因为微软相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上。所以C#一出生就注定了能很好解决分布式问题。

3. 跟Java类似,C#代码经过编译后,成为了一种IL(中间语言)。在运行时,再把IL编译为平台专用的代码。

4. 健壮,C#在检查程序错误和编译与运行时错误一点也不逊于Java,C#也用了自动管理内存机制。

5. C#不像Java那样完全摒弃了指针和手动内存管理。C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。这样可以保证编程的灵活性。

6. 安全性:C#的安全性是有.net平台来提供的。C#代码编译后成为IL语言。是一种受控代码,.net提供类型安全检查等机制保证代码是安全的。

7. 可移植性:由于C#使用类似Java的中间语言机制。使得C#也跟Java类似,可以很方便的移植到其他系统。在运行时,再把中间代码编译为适合特定机器的代码。

8. 解释性:C#也是一种特殊的解释性语言。

9. 高性能:C#把代码编译成中间语言后,可以高效的执行程序。

10. 多线程:与Java类似,可以由一个主进程分出多个执行小任务的多线程。

11. 组件模式:C#很适合组件开发。各个组件可以由其他语言实现的,然后集成在.net中。

C#是在Java流行起来后所诞生的一种新的语言。由于微软在操作系统上占有很大的优势。在以往的开发中累积了不少经验,所形成的.net平台,所以C#在Windows方面可以说比Java具有更大的优势。如果单纯从技术上来讲,C#在网络编程上可以与Java匹敌。C#还在Windows Forms也有一定的优势。

C#是一种非常类似于C++的语言,风格是更接近于Java,不管是C++程序员还是Java程序员,都可以很方便的转到C#上来。

C#的强大是依赖于.net的发展,而.net的发展是看微软在.net上的决心和投入有多少。从Windows 2003和Vista系统可以看出(前者内置.net1.1,后者内置.net2.0。).Net在Windows编程中具有重要的战略意义。

C#目前主要是应用在网络编程上,其他领域比如数据库、窗体编程,都逐渐在增大。

以上就是C#的主要简介了,因为我也是初次接触C#语言,所以有些东西是百度解释的,写的不好的地方还请各位大牛多指正。

时间: 2024-07-28 15:46:37

1.1C#简介的相关文章

SylixOS龙芯1C适配总结

1.龙芯1C简介 1.1龙芯1C简介 龙芯 1C300(以下简称 1C)芯片是基于 LS232 处理器核的高性价比单芯片系统,可应用于指纹生物识别.物联传感等领域.1C 包含浮点处理单元,可以有效增强系统浮点数据处理能力.支持 8-bit SLC NAND 或 MLC NAND FLASH,提供高容量的存储扩展接口. 1C 为开发者提供了丰富的外设接口及片上模块,包括 Camera 控制器, USB OTG 2.0 及 USB HOST 2.0 接口, AC97/I2S 控制器, LCD 控制器

Linux C编程学习1---C语言基础(简介、预处理……)

C的简介 C语言的结构极其紧凑,C语言是一种模块化的编程语言,整个程序可以分割为几个相对独立的功能模块,模块之间的相互调用和数据传递是非常方便的 C语言的表达能力十分强大.C语言兼顾了高级语言和汇编语言的一些特点,既可以像汇编语言那样直接访问硬件的功能,也具有高级语言那样面向用户容易记忆.便于阅读和书写的优点 C语言的可移植性很好,C语言中没有依赖于硬件的输入输出语句,输入输出功能都是通过调用库函数来实现的,所以在一种计算机平台上开发的程序不需要进行修改或者只需要进行简单的修改就可以移植到另外的

Nginx入门级简介,包括安装,基本使用,负载均衡,动静分离,反向代理,缓存应用等功能。

本文为Nginx入门级简介,包括安装,基本使用,负载均衡,动静分离,反向代理,缓存应用等功能. 依赖项准备 可能用到的依赖库,以下提供官方网站链接可自行下载: pcre http://www.pcre.org/ zlib http://zlib.net http://sourceforge.net/projects/libpng/files/zlib/ zlib.net上不去-是不是被墙了,我们可以使用另外一个链接zlib是 libpng的依赖库 openssl http://www.opens

linux usb简介

参考书:<linux device drivers>.<usb 2.0规范> <usb3.1规范><usb白皮书> 以linux为例来说明usb系统. 先看一下usb蓝牙适配器的详细信息: $ lsusb | grep Cambridge Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) $ sudo lsusb -s 001:0

POSIX 线程编程(一)简介

简介 在共享内存的多处理器结构中,可以用线程来实现并行.对于UNIX系统, IEEE POSIX 1003.1c标准规定了C语言线程编程接口的标准.这份标准的实现就是POSIX threads, 或者称为Pthreads. 本文开始先介绍线程的基本概念,动机和设计方面的一些考虑. 接下来是Pthreads API 的三个主要部分:线程管理,互斥锁和 条件变量.本文自始至终会贯穿大量的示例代码来展示如何使用Pthread API的每一部分. Pthreads 概述 线程是什么? 从技术角度讲,一个

Ranking SVM 简介

Ranking SVM 简介 Learning to Rank Learning to Rank(简称LTR)用机器学习的思想来解决排序问题(关于Learning to Rank的简介请见(译)排序学习简介).LTR有三种主要的方法:PointWise,PairWise,ListWise.Ranking SVM算法是PairWise方法的一种,由R. Herbrich等人在2000提出, T. Joachims介绍了一种基于用户Clickthrough数据使用Ranking SVM来进行排序的方

[译][并行计算] 1. 并行计算简介

原文地址:https://blog.csdn.net/magicbean2/article/details/75174859 并行计算简介 (本人刚刚完成这篇长文章的翻译,尚未认真校对.若里面有翻译错误和打字错误敬请谅解,并请参考原贴) 1 摘要 最近项目需要实现程序的并行化,刚好借着翻译这篇帖子的机会,了解和熟悉并行计算的基本概念和程序设计.帖子的原文见这里. 这篇帖子旨在为并行计算这一广泛而宏大的话题提供一个非常快速的概述,作为随后教程的先导.因此,它只涵盖了并行计算的基础知识,实用于刚刚开

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作