《C# 8.0 & .NET Core 跨平台应用开发》

课前提要

这一章讲解了C#程序设计语言的所有基础知识。在本章的课程中,您将学习如何使用c#的语法编写语句,以及介绍一些您将每天使用的常用词汇。除此之外,在本章结束时,您将对如何临时存储和处理计算机内存中的信息有信心。

这一章覆盖以下知识点:

  • 介绍C#
  • 了解C#基础知识
  • 使用变量
  • 处理空值
  • 进一步探索控制台应用程序

这是整章节内容,本节课我们将开始第一部分,聊聊 C# 的版本及特性。

  1. 了解了解语言的版本及特性
  2. 确定你的 C# 编译器版本
  3. 使用一个特殊(非默认)的 C# 版本

了解了解语言的版本及特性

至发稿为止,C# 已经更新到 8.0 版本,但 9.0 已紧跟而来。看来 Microsoft 对 C# 寄予厚望。下面简单描述以下各版本 C# 的发布日期及版本特性。

  • C# 1.0于2002年发布,包含了静态类型的面向对象现代语言的所有重要特性,你将在第1部分的所有章节中看到这些特性。
  • C# 2.0于2005年发布,主要关注使用泛型实现强数据类型,以提高代码性能并减少类型错误。
  • C# 3.0是在2007年发布的,主要关注于支持LINQ以及匿名类型和lambda表达式等相关特性。
  • C# 4.0是在2010年发布的,其重点是改进与F#和Python等动态语言的互操作性。
  • C# 5.0于2012年发布,主要关注于简化异步操作支持,它在编写类似于同步语句的语句时自动实现复杂的状态机。
  • C# 6.0于2015年发布,主要关注于对该语言的细微改进。
  • C# 7.0于2017年3月发布,主要关注于添加函数语言特性,如元组和模式匹配,以及对语言的细微改进。
  • C# 8.0于2019年9月发布,主要关注与null处理相关的语言的重大变化。

确定你的 C# 编译器版本

自从 C# 7.0 开始,微软决定增加更新节奏,增加次要版本号。这是自C# 1.1以来第一次。

用于 C#、Visual Basic和 F# 的 .NET 语言编译器 Roslyn 是作为 .NET Core SDK 的一部分发布的,如 图2 所示。要使用特定版本的 C#,您必须至少安装对应版本的.NET Core SDK,详见下表:

图1. 版本对应关系

图2. 注意 Roslyn 所处的位置

打开Visual Studio Code的终端面板。键入如下命令查看目前正在使用.NET Core版本。

dotnet --version 或 dotnet --info

从 .NET Core 3.0 开始,使用的已经是 C# 8.0 版本。如果有特殊需求,需要查看目前编译器支持的 C#版本,可以运行一下命令,并查看结果:

csc -langversion:?

图3. 查看支持的 C# 版本

csc 命令可以通过在C盘根目录下输入 dir /s csc.exe 命令找到所在位置。通常可以在 Visual Studio Code 文件夹的 C# 扩展中的 Roslyn 目录下找到,C:WindowsMicrosoft.NETFrameworkv4.0.xxxx 下也可找到,自行搜索尝试。

使用一个特殊(非默认)的 C# 版本

默认情况下,Visual Studio Code 和 dotnet 命令行会假定你想使用最新版本的 C# 编译器。所以,在 C# 8.1 发布之前,C# 8.0 是默认使用的最新版本。如果你想将语言版本调整为7.3,可以在项目文件中,加入或修改以下元素:

7.3

如果未来 Microsoft 发布了 C# 8.1 版本,你也可以将上面命令中的版本号7.3更改为8.1。

我们在使用 dotnet new console 命令创建控制台应用时,会自动生成两个文件,这在上一章节的尾部 Hello World! 示例中已经见过。其中一个是我们更改过 Hello World! 字符串的 Program.cs 文件,另一个与文件夹名相同的.csproj项目配置文件。你可以将上个知识点中截图看到的版本号,填写到下 图3 加粗位置,替换“8.0”。

图4. 指定 C# 版本号

更改版本号后,记得保存(或开启“自动保存”)。之后在终端中查看运行结果。如填写不保存,会报错。

本课小结

本课我们简单了解了 C# 的各个版本特点,以及如何通过编辑项目配置文件改变 C# 以哪个版本编译。

下节课,我们将介绍 C# 的最基础语法。

c# 数组中的空值_2.1.1 聊聊 C# 的版本及特性相关推荐

  1. 【Python】过滤数组中的空值(空字符串''和None)

    使用场景 计算最大值或最小值时使用. 如果不进行空值过滤的话,python自带的min()函数会将空值作为最小值. 过滤数组中的空值:示例 def get_real_arr(arr):"&q ...

  2. PHP删除数组中的空值

    PHP删除数组中的空值 2012-08-27 17:29:45|  分类: 默认分类 |  标签: |字号大中小 订阅 以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构 ...

  3. python定义一个空数组_python – 在numpy数组中设置空值

    如何基于条件使numpy数组中的某些值为空? 我不明白为什么我最终得到0而不是null或空值不满足条件- b是一个用0和1值填充的numpy数组,c是另一个完全填充的numpy数组.所有阵列都是71x ...

  4. php 去掉数组中的空值_PHP删除数组中空值的方法介绍

    说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: foreach( $arr as $k=>$v){ if( !$v ...

  5. python定义空数组_在numpy数组中设置空值

    如何根据条件使numpy数组中的某些值为空? 我不明白为什么我最终得到的是0,而不是不满足条件的null或空值...b是用0和1值填充的numpy数组,c是另一个完全填充的numpy数组.所有阵列均为 ...

  6. 剑指Offer - 面试题53 - I. 在排序数组中查找数字 I(二分查找的变形版本)

    1. 题目 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2示例 2: 输入: nums = [5,7,7,8, ...

  7. c# 数组中的空值_C# 数据操作系列 - 1. SQL基础操作

    0.前言 前篇介绍了一些数据库的基本概念和以及一些常见的数据库,让我们对数据库有了一个初步的认识.这一篇我们将继续为C#数据操作的基础填上一个空白-SQL语句. SQL(Structured Quer ...

  8. c# 数组中的空值_译 | 你到底有多精通 C# ?

    点击上方蓝字关注"汪宇杰博客" 文:Damir Arh 译:Edi Wang 即使是具有良好 C# 技能的开发人员有时候也会编写可能会出现意外行为的代码.本文介绍了属于该类别的几个 ...

  9. PHP删除数组中空值的方法介绍

    这篇文章主要介绍了PHP删除数组中空值的方法介绍,需要的朋友可以参考下 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: ...

最新文章

  1. Coding-排序(sort)
  2. mysql1033错误存储引擎_【Mysql问题集锦(1)】mysql不能使用innodb存储引擎
  3. 程序员面试题精选100题(32)-不能被继承的类[C/C++/C#]
  4. Android O: View的绘制流程(二):测量
  5. 今日arXiv精选 | 4篇EMNLP 2021最新论文
  6. 特斯拉对手再秀“肌肉”,Lucid Motors展示电动汽车雪上漂移
  7. iangularjs 模板_2018-web前端的自我介绍-优秀word范文 (5页)
  8. 【Android】命令行jarsigner签字和解决找不到证书链错误
  9. K8S 核心组件 kubelet 与 kube-proxy 分析
  10. Codeforces Round #401 (Div. 2) C Alyona and Spreadsheet —— 打表
  11. 《正则表达式必知必会》读书笔记【语法整理】
  12. Mybatis 处理日期格式自动转换
  13. axios 取消请求_封装 axios 取消重复请求
  14. [ 原创 ]2017年3月25日
  15. centos7.4更新安装ssh8.8
  16. 机器人 瓷砖墙面清洗_墙壁清洁机器人
  17. UIpath2021.10下载、安装、激活
  18. 电脑服务器型号在哪,电脑服务器型号内存
  19. php手册下载后打开没有内容,word保存后内容不见了怎么办
  20. 小程序AP配网和AK配网教程(开源)

热门文章

  1. html 请求体 响应体,Http协议抓包详解
  2. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,看完这篇就够了,论软件架构设计的重要性、本篇论文“未通过考试”,供分析参考
  3. 从梯度下降到ADMM-学习记录
  4. 09Linux虚拟机快照
  5. python比赛评分计算_python3:(可输入评委人数和参赛人数)模拟决赛现场最终成绩计算过程...
  6. 调用软键盘_Android 支持拖动、缩放的自定义软键盘
  7. ROS下的多参数调用,boost::bind使用
  8. endnote一打开就自动关闭_【EndNote文献管理】5分钟快速上手Endnote
  9. Java 算法 FBI树
  10. scrapy导入配置文件setting.py,防止运行时找不到文件