文章导航

前言

.NET CORE 世界

.NET Core是一个较新的概念,.NET Core 2.0从.NET Framework那继承了很多API以便将现有的.NET Framework应用迁移到.NET Core上。

你可以按照.NET Standard 2.0创建应用环境来迁移现有应用,该标准包括.NET Framework 4.6.1、.NET Core 2.0应用程序和Windows apps(Build 16299)。

更多.NET Standard相关的内容请阅读 .NET Standard 指南 。

虽然ASP.NET Core MVC跟它的兄弟ASP.NET MVC很像,但它更容易扩展。你可以使用新技术Razor Pages来创建新的Web应用程序,当你的项目变的越来越大时,Razor Pages可以轻松地基于MVC模式进行扩展。

在本书写作时,一项基于.NET Core的实时通讯技术SignalR,正准备发布。

ASP.NET Core和Javascript框架(如Angular和React/Redux)有很好的集成度。Visual Studio提供了很多模板(Templates),可以直接创建集成这些JS框架的ASP.NET Core项目,方便后台服务(backend services)开发。

总而言之,.NET Core是一个开源的、使用最新的设计理念、支持跨平台并且开发的应用可以直接在Windows和Linux上运行的新技术。

C# 世界

C#最早是在2002年发布的,用来开发.NET Framework应用程序的一种语言,一开始只是想开发一版 Microsoft 的Java,在正式命名为C#之前,它叫J++。

最早C#并不仅仅是按照面向对象的通用开发语言来设计的,它更多考虑的是面向组件编程。随着时代的发展,C#开始支持越来越多的语法特性,并逐渐支持函数式编程。

C# 6.0的时候,编译器源代码被重写了一遍,新的编译器可以适用更广泛的定制软件开发,而且不容易崩溃。

得益于新写的编译器,C# 7.0加入了很多新的函数式编程的特性,如元组(tuples)、模式匹配(pattern matching)等。

C# 7.0 新特性

简要的介绍可以参见 C# 全版本特性一览 。

具体的介绍会在后续正文中的各章节中可见。

ASP.NET CORE 新特性

csproj文件被重新设计成同时支持.NET Framework和.NET Core,以便用户可以轻松的切换编译环境。和预览版不同的是,它被尽可能的精简了,所以你只要使用一个普通的文本编辑器就能简单的修改它。

创建一个ASP.NET Core项目的时候,不单单csproj文件被简化了,C# 源代码也同样被精简了。例如当你使用默认的WebHostBuilder的时候,很多代码都预先定义并且生成好了,配置和日志管理也不用你手工添加。

新的Razor Pages也很容易上手,有些应用软件并不需要抽象成MVC模型,就可以直接使用Razor Pages来完成。

UWP(UNIVERSAL WINDOWS PLATFORM) 新特性

通常用户Windows10系统版本一年会更新两次,本书写作的时候更新到了build 16299, October 2017。

微软一直致力于提供新的系统设计特性并将其整合到Windows控件库中。此时最新的特性是流畅设计体系(Fluent Design),该体系共有五大核心元素,包括Light(光感)、Depth(深度)、Motion(动画)、Material(材质)和 Scale(缩放) 。它整合在标准控件库中,也允许直接调用——比如通过Acrylic或者Reveal特效的brushes。为了提供视差效果,ParallaxView控件也被添加到应用中。

用户同样可以使用Windows Template Studio,Visual Studio的一个扩展,它为用户提供了一个模版编辑器,内置了许多页面和预生成的服务。

InkCanvas控件提供了新的方式以便你能更容易的将这些特效集成到你的应用中。NavigationView则让创建自适应(adaptive)的菜单更加的容易——通过一个hamburger按钮和SplitView的配合使用。

更详细的内容在本书的正文中介绍。

C# 代码工具

.NET Core可以在Windows,Linux或者Mac系统上运行,你可以在任何一个操作系统上安装Visual Studio Code进行开发。

更推荐使用的开发工具是Visual Studio,本书写作的时候是Visual Studio 2017,而本文写作的时候,最新的是Visual Studio 2019 v16.5版本。你可以使用社区版本,但很多功能特性只有专业版和企业版才提供。

VS2017可以安装在Windows 10 build 1507+,Windows 8.1, Windows Server 2012 R2, 或者 Windows 7 SP1上。如果你想使用本书提供的UWP特性,则需要安装Windows 10操作系统。

如果你想用Xamarin创建一个IOS应用,可能你需要一台苹果工作站。不过就算没有Mac系统,你依然可以通过Xamarin创建适用于Windows和Android 的App。

微软提供了一个Mac专用的Visual Studio版本,可以使用这个版本在Mac工作站上开发ASP.NET Core 和 Xamarin apps,但需要注意的是它无法创建和测试Windows apps。

本书内容

第一部分 The C# Language,包括Chapter 1 - Chapter 18。

第二部分 .Net Core and Windows Runtime,包括Chapter 19 - Chapter29。

第三部分 Web Applications and Services,包括Chapter30 - Chapter32。

第四部分 Apps,包括Chapter33 - Chapter37。

源代码

GITHUB

你也可以通过Git工具clone整个Repository,这样你就可以随时获取我们的最新更新,如果你有Github的账户,你可以直接Fork。

如果你在使用示例代码的过程中出现任何无法解决的问题,你可以打开 https://github.com/ProfessionalCSharp/ProfessionalCSharp7 上提交Issue ,请尽可能详尽的描述你的问题以便我们帮你解决它。

勘误

个人声明

本系列文章写作于2020年2月29日,此时C# 8.0和.NET Core 3.1早已发布,而《Professional C# 7 and .NET Core 2.0》只是笔者此时能找到的最新版本的电子书,想获得更多的一手资讯,你可以阅读作者博客:https://csharp.christiannagel.com/。

该书的中文版《C#高级编程(第11版) - C# 7 & .NET Core 2.0》(李铭译)由清华出版社于2019年出版,在各大电子商城有售。

事实上ECMA通过的C#标准还停留在C# 5.0,因此笔者选择学习这本C# 7.0的英文电子书。

本系列文章写作时的环境如下:

C# 8.0,CLR4,.NET Framework 4.8,.NET Core 3.1,Windows 10 build 18363,Visual Studio 2019 v16.5。

本系列文章主要基于《C#高级编程第11版 - Professional C# 7.0 and .NET Core 2.0》进行翻译学习。

尽量补全相关知识点到2020年已经发布的版本,并且补充以往版本的书籍涉及到的.NET旧技术的翻译(譬如本书未提及的WPF知识,在最后通过翻阅英文版的C#高级编程第10版,进行补全)。

翻译的过程尽量与自己多年的开发经验进行验证,但难免因为学艺不精或者校对疏漏有些贻笑大方的情况,还望有空的读者不吝指正。

一般来说需要3-4天才能完成一章的翻译、校对,补充更多的示例代码,预计本次翻译需要3-4个月的时间,到6月底结束。

资料下载

c#高级编程第11版 pdf网盘_C#高级编程第11版 - 概述相关推荐

  1. c#高级编程第11版 pdf网盘_c#高级编程_c#高级编程 目录 微盘_c#高级编程第10版 pdf...

    c#高级编程 C#高级编程(第9版)-C# 5.0 & .NET 4.5.1是由.NET专家的梦幻组合编写,包含开发人员使用C#所需的所有内容.C#是编写.NET应用程序的一种语言,本书适合于 ...

  2. docker实践第二版pdf 网盘_和付费网盘说再见,跟着本文自己起个网盘(Java 开源项目)

    本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 网盘项目. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列. 今天给大家带 ...

  3. docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析

    郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序.大佬除外. 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了 ...

  4. sql入门经典第5版pdf网盘_如何学习 SQL 语言?

    很多人喜欢一上来就推荐好几本书,但是这些书晦涩难懂,对于初学者入门非常不友好.入门只需要一本书就够了,而不是多本.入门要让初学者看懂才是最重要的,而不是整那些高大上的东西.为了帮助刚毕业找工作,或者想 ...

  5. c语言程序设计第4版pdf荣政_C语言程序设计(第4版) (史蒂芬.寇肯) 中文pdf扫描版[82MB]...

    C语言程序设计(第4版)全面介绍了C语言的各种特性,包括C11中增加的内容.书中包含大量完整的示例及详细的讲解.无论是否拥有编程经验,你都可以通过本书透彻地理解C语言.每章最后附有习题,便于课堂学习或 ...

  6. c#入门经典第8版 pdf百度云_C#入门经典 第6版 高清 电子书 下载 pdf [(美)沃森等著][清华大学出版社] sample...

    Tech By APP开发 联系我们:  手机版 本站仅提供盘多多如风搜和盘搜搜以及小说网笔趣阁的资源搜索服务,不存放任何实质内容.如有侵权内容请联系百度云盘或新浪微盘,源资源删除后本站的链接将自动失 ...

  7. Head First 系列图书资源-PDF网盘下载(更新中)

    Head First 系列图书资源-PDF网盘下载(更新中) <Head First Python 中文版>.pdf: https://u21476951.ctfile.com/fs/21 ...

  8. linux版的百度云怎么样,有些人用Linux版百度网盘不限速,有些则速度很慢

    用户在使用Linux版百度网盘时反应不一:有些人用了不限速,有些则是速度很慢.这一点似乎区别于Windows版,因为在使用百度网盘Linux版下载文件过程中时快时慢.可看百度网盘Linux版使用体验效 ...

  9. java 版百度网盘功能

    java 版百度网盘功能,目前已经实现:  1:百度网盘登录  2:列出百度网盘文件  3: 切换目录 4: 多线程下载文件 速度有待优化.思路已经成型. 源码地址:https://gitee.com ...

  10. 直链站php源码,源码库分享PHP版百度网盘直链/外链源码

    时间:2013-10-22来源:Aspku 作者:源码库 文章热度: ℃ PHP版百度网盘直链/外链源码分享,使用方法: 一.复制下面的php代码,另存为文件baidupan.php,然后将php文件 ...

最新文章

  1. 2007.04.26
  2. matlab mle pci为nan,matlab - 使用mle()估计自定义分布的参数 - 堆栈内存溢出
  3. jvm类加载机制_面试:对于JVM类加载机制深度解析
  4. mysql etc rc.local_CentOS 7 开机启动自定义配置文件:/etc/rc.local 不执行解决办法 | IT运维网...
  5. MySQL buffer pool中的三种链
  6. Java实现文件过滤
  7. Jupyter Notebook命令行启动报错: DLL load failed
  8. Android TextView文字横向自动滚动(跑马灯)
  9. 经典Java-SpringCloud面试题
  10. How to Create Your Own HDR Environment Maps
  11. linux卸载nvdia驱动_Ubuntu 卸载 Nvidia 驱动和安装最新驱动
  12. Lisp语言中的print函数
  13. 年后跳槽,你准备好在编程面试中一举拿下高薪了吗?
  14. hadoop kerberos java_hadoop kerberos认证
  15. mui实现APP中的支付宝支付
  16. 小红书推广方式和技巧有哪些?
  17. 怎么关闭Windows安全启动?
  18. CAN通信详解(全)
  19. 软件“吃掉”创新 企业如何深陷罗网?
  20. 可以运行vivado的云服务器,百度云服务器FPGA标准开发环境的逻辑开发与编译示例 - 全文...

热门文章

  1. php嗅探源码,网络嗅探器(含源代码)
  2. 网站项目管理规范指南
  3. java自动化测试_Java自动化测试(一)
  4. android源码学习-源码学习目录推荐
  5. linux中vim怎么编辑文件内容,Linux 使用vim命令编辑文件内容
  6. Ubuntu 安装JDK18
  7. 《SQL必知必会》笔记
  8. 【python】conda配置python项目环境(Conda常用命令)
  9. Dev-C++下载教程,官网最新版
  10. FMEA软件七步法(FMEAHunter)