为了进一步打好基础下一步的学习将围绕《C#入门经典(第8版)》展开。

一、.NET Framework和.NETCore简介

.NETFramework包含了一个庞大的代码库,主要应用于面向对象编程技术(Object-Oriented Promgramming,OOP),同时.NETFramework库还定义了一些基本类型,有助于使用.NETFramework的各种语言之间进行交互操作,这称为通用类型系统(Common Type System,CTS),除了这个库以外.NETFramework还包含.NET公共语言运行库(Common Language Runtime,CLR),它负责管理用.NET库开发的所有应用程序的执行。

在编译使用.NETFramework或.NET Core库的代码时,需要把代码编译为中间语言(Common Intermediate Language,CIL),这些CIL代码被存储在一个程序集中(程序集中还包括可执行程序.exe其他程序使用的库.dll),而Just-In-Time(JIT)编译器会把它编译为专用于OS和目标机器架构的本机代码仅在需要时进行编译)。将代码编译为CIL,再用JIT编译器将它编译为本机代码后,CLR/CoreCLR的任务尚未完全完成,还需要管理正在执行的用.NET Framework和.NET Core编写的代码。即CLR/CoreCLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试,相反,不受CLR/CoreCLR控制运行的应用程序属于非托管类型,在C#中只能编写在托管环境下运行的代码,代码托管可以确保程序不再使用某些内存时,就会完全释放这些内存,避免大块内存被分配到错误的地方,导致系统变慢。

二、C#的含义

C#因其语法简单,因此其开发应用程序比C++简单,但C#是一种强大的语言,在C++中可以完成的任务几乎都可以利用C#完成。C#中一旦为某个数据制定了类型,就不能转换为另一种不相关的类型,因此C#编写的代码通常会比C++编写的要长,但C#代码更健壮,调试起来比较简单,.NET可以始终随时跟踪数据的类型。

C#学习笔记(四)-- .NET Framework与C#简介相关推荐

  1. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  2. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  3. RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)

    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...

  4. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档

    POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...

  5. Ethernet/IP 学习笔记四

    Ethernet/IP 学习笔记四 EtherNet/IP Quick Start for Vendors Handbook (PUB213R0): https://www.odva.org/Port ...

  6. OpenCV学习笔记四-image的一些整体操作

    title: OpenCV学习笔记四-image的一些整体操作 categories: 编程 date: 2019-08-08 12:50:47 tags: OpenCV image的一些操作 sP4 ...

  7. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

  8. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机

    arduino开发ESP8266学习笔记四-–舵机 使用时发现会有ESP8266掉电的情况,应该是板上的稳压芯片的限流导致的,观测波形,发现当舵机运转时,电源线3.3V不再是稳定的3.3V,大概是在3 ...

  9. mysql新增表字段回滚_MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

  10. ROS学习笔记四:理解ROS节点

    ROS学习笔记四:理解ROS节点 本节主要介绍ROS图形概念,讨论ROS命令行工具roscore.rosnode和rosrun. 要求 要求已经在Linux系统中安装一个学习用的ros软件包例子: s ...

最新文章

  1. “不会Linux,怎么干程序员?”骨灰级工程师:干啥都不行!
  2. 关于扫描仪——你不知道的秘密
  3. Android root概念
  4. iphone固件降级_我在iPhone上装了个安卓
  5. 计算机科学技术的教育应用论文,浅谈计算机科学技术在计算机教学中的应用论文...
  6. yum 安装mysql的位置_Yum安装MySQL以及相关目录路径和修改目录
  7. python如何不跳行打印_python怎么不换行打印
  8. python多线程编程_python多线程编程(1): python对多线程的支持
  9. 72. 编辑距离(JavaScript)
  10. Knockout应用开发指南 第二章:监控属性(Observables)
  11. 百度信息流 绑定服务器,【实例】百度信息流账户搭建步骤
  12. R语言假设检验完整入门教程
  13. 利用C 语言求一元二次方程解
  14. html轮播图点击图片放大,jq点击图片 放大轮播
  15. 机器学习笔记09:支持向量机(二)-核函数(Kernels)
  16. 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...
  17. Node.js报错:UnhandledPromiseRejectionWarning: Unhandled promise rejection
  18. debian下切换内核
  19. 面试前夕知识点梳理之JavaScript(补充)
  20. LM321 低功耗单运算放大器 1MHZ增益带宽积 用于充电器 适配器

热门文章

  1. 引入CSS样式表的三种方法
  2. Android视频缓存机制——AndroidVideoCache
  3. 如何将闲置的平板作为第二显示器(分屏)使用
  4. 热烈庆祝华为在9月取得鸿蒙,余承东:明年华为智能手机全面支持鸿蒙系统
  5. 史元春和孙正兴:人机交互
  6. SLNA003020系列50MHz~4GHz低噪声放大器
  7. 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )
  8. openwrt安装Linux软件,OpenWrt安装软件的方法
  9. 安装elasticsearch-curator
  10. 国家一级期刊名录(2005)