C # knowledge building: a, C # knowledge

First, write this series of blog purpose is to exercise their writing and presentation skills, and secondly to sort and summarize the knowledge accumulated four years of work and consolidate their knowledge building.
Here is not to talk about what the rest of the basic knowledge of the C # language, related to the basics can go on their own or assiduously watch related video.


Here are some video about the book list and I see URL and learning.

book list

  1. C # from entry to the master
  2. C # Advanced Programming
  3. Essential C #
  4. Lying design pattern
  5. CLR via C#
  6. ... (Getting to the above-mentioned books, the follow-up to see how to enhance the depth Tell me what's up)

video

I usually see above Tencent classroom lessons, but also because now summarize the past year to increase the intake of knowledge, the need for a sort of knowledge for its own over the past year, the organization, then everyone would look ranked above it! ! ! Personally, I see the soft seek education curriculum, of course, I recognized very big Eleven [E]

Learning Website

That this URL learning, then in turn recommend the following
1.MSDN: This is Microsoft's official knowledge dictionary library, you can go and see more than
2.GitHub: a lot of very powerful thing to see is how big brother used, if possible follow-up I also put together sort out Git-related blog.
3.CSDN: After all, on this site, blowing a wave ...


1. There are many possible fallacy in subsequent blog update, I hope a lot of spectators classic treatise! ! !
2. The [C #] knowledge building may have contained relatively Sentimental expression, also please forgive me lord spectators! ! !
3. Many of knowledge is seen in a lot of big brothers and video blog, but definitely not use Ctrl + C and Ctrl + V to get over, if in doubt contact me
4. On the occasion of the new year [ 2020] New Year, I wish you a happy New Year master spectators, Wan Fu Jinan! ! !
5. you can call me ---- dishes [is lying on design patterns dishes]
6. I do CS is developed, and is engaged in the development program to the letter, there may be a lot of thought certain industries, a lot of people discuss…


Nonsense is not to pull, and started into the topic, let me introduce myself C # knowledge building.

Past and Present of the C # language

What is C #, I do not express their opinion on the use of C # Baidu Encyclopedia and Microsoft's own explanation for what C # is up!
1. Baidu Encyclopedia: Portal
2.MSDN family own interpretation as follows: Portal
after two very official explanation given above I summarize some of their own

  • Microsoft's C # language is a completely object-oriented language that has a type-safe / strong type features

  • C # language is the language of the new package is further formed in the C ++ language, which will be some loss in efficiency

    [Views 1] rumor C # language is Microsoft to counter the Sun further encapsulated on the basis of C is formed on the Java language, thereby further encapsulated form based on C ++ on C # language
    [Point 2] although the loss but on the existence of efficiency for a more convenient solution, loss of efficiency to some extent, is negligible, that you have to look to locate a project, and I personally think that each language has different adaptability in different areas.

  • C # Language Contrast C ++, C language with a more convenient, more object-oriented, more anthropomorphic language,
    basic knowledge of C # language [if, for, class, function like] not here to be a one of a comb. May be related reading list in the [C # Mastering] or learning-related basic courses, now on the basics of video Tencent classes are free, senior advanced a fee is required.
    The following describes a few general questions something on the macro.

  • C#、.Net[传统.Net不包含.Net Core]、VS三者之间的关系?
    C#是一门语言,其语言可以单独存在并且运行。
    .Net是一个框架集,它叫.Net Framework,开发过程中引用的初始引用都是.Net中的,程序在启动过程判断其是否为.Net环境,如果没有其环境且不安装是无法运行的。当然上述括号中也说了不包含.NetCore[下述讲到.NetCore]
    VS是一个IDE,是编写C#语言的不二利器。当前使用比较多的为以下几个版本VS2010[小菜使用该版本是由于地信行业中使用ArcGIS10.1二次开发,有时不得不使用]、VS2012和10是一样的原因、VS2015是一个跨越版本、VS2017和VS2019其是目前最新的,推荐使用VS2019。在此基础上加上VS Code 其是微软在文本编辑软件上的力作,支持各类插件以及神优化。
    以上是三者是什么的解释,那么语言有不同的版本、.Net也有不同的版本、VS也有不同的版本,那么它们之间的关联是什么呢?

时间节点 VS版本 C#语言版本 支持的.Net版本
2002.03 Visual Statio .NET 2002 C#1.0 .Net1.0
2003.04 Visual Statio .NET 2003 C#1.1 .Net1.1
2005.11 Visual Statio 2005 C#2.0 .Net2.0
2007.11 Visual Statio 2008 C#3.0 2.0/3.0/3.5
2010.04 Visual Statio 2010 C#4.0 2.0/3.0/3.5/4.0
2012.08 Visual Statio 2012 C#5.0 2.0/3.0/3.5/4.0/4.5
2013.10 Visual Statio 2013 C#5.0 2.0/3.0/3.5/4.0/4.5/4.5.1/4.5.2
2014.11 Visual Statio 2015 C#6.0 2.0/3.0/3.5/4.0/4.5/4.5.1/4.5.2
2017.03 Visual Statio 2017 C#7.0 2.0/3.0/3.5/4.0;4.5/1/3/5;4.6
2019.10 Visual Statio 2019 C#8.0 2.0/3.0/3.5/4.0;4.5/1/3/5;4.6;Core
  • 那么就引出另外的一个问题,这三个每一次升级对比上一次有哪些提升(即每一个版本的特性是什么)?
    这篇博客解释的非常清楚
    https://www.cnblogs.com/MingsonZheng/p/11273700.html

  • C#程序在运行过程中在干什么?
    首先是如下的一张图剖析了C#语言一直到最终运行它在干什么!在这里插入图片描述

     - C#高级语言编写
     	由人或者机器编写为代码资源,形成逻辑信息。
     - 编译器编译
     	有IDE进行编译(99%都是由VS进行编译)形成dll或者exe文件,其中可以说道的是会产生两个单元的文件资源一个为metaData和IL信息。如果使用臭名昭著的ILSpy进行反编译是可以查看到源代码信息的。
     - 程序使用exe或其他方式调用运行时
     	会调用CLR/IL进行解译为计算机认识的语言01。然后交给计算机进行运行。
    
  • C#语言是一个面向对象的语言,面向对象语言是什么?以及与 C、C++、Java、Python语言之间的爱恨情仇?
    这个里面可以相互分组,C与C++一组,Java与C#一组,Python单为一组。
    C和C++语言均为"底层"语言,其具有效率高但使用复杂,指针暴露等特点,相交其他三门语言程序运行效率高,同时编写难度大。
    C语言是面向过程的语言
    其优点如下:
    编译速度,执行效率是5者中最高的;
    学习简单,只要英语能力不扯后腿其学习速度非常快;
    其劣势如下:
    其为面向过程语言,对于大型项目可维护以及可拓展能力相交弱
    垃圾回收需要程序员自行释放
    C++语言是在C语言的基础上演变而来,是半面向对象语言
    其有点如下:
    (1)代码可读性好。
    (2)可重用性好。
    (3)可移植。
    (4)C++设计成无需复杂的程序设计环境
    (5)运行效率高,高效安全
    (6)语言简洁,编写风格自由。
    (7)提供了标准库stl
    (8)面向对象机制
    (9)由于其由C语言发展而来,故其可以完全兼容C语言
    其劣势如下:
    学习难度是5门语言中最为困难的。
    和C语言一样需要自行释放资源,没有垃圾回收机制,可能引起内存设漏;
    Python语言这几年的势头非常的好,其当前是热更新、人工智能、机器学习的不二选择。
    Java与C#语言其有80%的内容相同,其不同的地方主要体现在高级技术方面。
    1.C#语言在2.0之后提出泛型的概念,Java语言随后提出,然而C#语言的泛型是真泛型,Java语言的泛型是编译器使用Object和类实现的模式。随后C#在泛型的基础上提出Lambda表达式等。
    2.Java语言的跨平台性比C#的跨平台性强,C#(暂时不包含.NetCore)当前的跨平台性不是很成熟,需要依赖.Net框架环境。
    3.Java是BS开发的王者,C#是窗体应用程序开发的不二选择。
    4.Java语言开源,拥有者世界上所有的Javer开发者对其进行维护升级以及建议。故其发展以及语言生态环境由于C#。而C#语言是微软闭源开发的,其用其专业开发团队来维护语言,故本人认为在语言的优雅性以及纯洁性上优于其他语言。
    以上我并不是某种语言的簇拥也不是某种语言的打压。

发布了1 篇原创文章 · 获赞 0 · 访问量 44

Guess you like

Origin blog.csdn.net/a13407142317/article/details/104076183