C#教学视频-华南理工大学

  • 名称:C#教学视频-华南理工大学
  • 分类:程序设计  
  • 观看人数:加载中
  • 时间:2014/1/23 13:37:19
这套课程为C#教学视频,课程华南理工大学教授授课,多媒体教育,授课办法,采用英文版进行课程教育。
C#是一种安全的、安稳的、简略的、高雅的,由C和C++衍生出来的面向方针的编程言语。本课程向您介绍C#的基本入门常识,帮助您疾速入门。
C#介绍
C#是微软公司发布的一种面向方针的、运转于.NET Framework之上的高档程序规划言语。并定于在微软作业开发者论坛(PDC)上登台露脸。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包含了诸如单一承继、接口、与Java几乎同样的语法和编译成中间代码再运转的进程。可是C#与Java有着显着的不一样,它学习了Delphi的一个特色,与COM(组件方针模型)是直接集成的,并且它是微软公司 .NET windows网络结构的主角。
C#是一种安全的、安稳的、简略的、高雅的,由C和C++衍生出来的面向方针的编程言语。它在承继C和C++强壮功能的一起去掉了一些它们的复杂特性(例如没有宏以及不允许多重承继)。C#归纳了VB简略的可视化操作和C++的高运转功率,以其强壮的操作能力、高雅的语法风格、立异的言语特性和便捷的面向组件编程的撑持成为.NET开发的首选言语。
C#与其他编程言语
目前常见的编程言语大都是指令式(Imperative)的,例如C#、Java或C++等。这些言语的特征在于,代码里不仅表现了“做啥(What)”,而更多表现出“如何(How)完成作业”这样的完成细节,例如for循环、i += 1等,乃至这部分细节会掩盖我们的结尾方针。在Anders看来,指令式编程通常会让代码变得十分冗余,更重要的是由于它供给了过于详细的指令,这样履行代码的基础设施(如CLR或JVM)没有太多发扬空间,只能老老实实地依据指令一步步地向方针行进。例如,并行履行程序会变得十分困难,由于像“履行目的”这样更高层次的信息现已丢失了。因此,编程言语的趋势之一,便是能让代码包含更多的“What”,而不是“How”,这样履行环境便能够愈加聪明地去适应当前的履行需求。
学好C#优势
一旦你把握了.Net和C#。等于手中握了一把神器。当然,这个把握需求很高,不是那些啥必知啊、通晓啊、面试必考的那些东西。而是一些更简略更精华的东东。
下面,以最近做的两个项目来展现下,神器大概怎么玩。
(1)高功能开发
这个项目是一个对功能需求十分高十分高十分高十分高的实时视频剖析项目。由于商业缘由,详细细节不方便泄漏。本项目最开始的版别我是用的纯C#开发,由于是图画与视频项目,我打开了unsafe,用上了指针和非保管内存。项目中有一个中心算法,大部分运转时刻耗在这个算法上面,写完之后,我发现,我写的这个C#版算法比国内外同行用C++完成的快几十倍。分辨率差不多的话,他们处置一帧约需求1秒左右,而我只需求几十毫秒。
举这个比如不是想说C#比C++快。实际上依据我这两年对unsafe C# 指针的运用来看,一个写的好的非保管C#代码,功能约是C代码的四分之三。可为啥在实战中有这么好的功能呢,C#下我们能够对开发任务做如下分化:关于功能不要害的当地运用保管程序,关于功能要害的当地运用非保管程序,即使是运用指针的非保管编程,C#下的开发功率也比C和C++快得多。这样一来,我的精力全部集中于要害当地的完成了,我就有非常好的心境和更多的时刻来进行优化,优化的结果就是,C#版的算法反而比C/C++的快。
也就是说,理论上,C/C++比C# unsafe快30%,可是在实践上,加上时刻和资源的束缚,反而可能是C#的代码更快。
当然,我这个算法的功能还不够高,达不到实时的目的。结尾版别,中心算法用CUDA完成,外围算法用C# unsafe完成的。
如果我在Win7下开发,我不认为我有需求C++的当地。当然,C仍是需求的,很多时分,要和硬件打交道。
一般搞图画和视频的都用matlab或C++,或者两个都用。其中,matlab规划算法,C++来重写以进步功能。而用C# unsafe,一个顶这两个,用它来规划算法,作业功率堪比matlab,运转功能堪比C++,且能够直接上线运转。