c# 与wpf学习第二天

C#

学习内容

  1. 列出 C# 一些重要的功能:

C# 的特点:
    现代的、通用的编程语言。
    面向对象。
    面向组件。
    容易学习。
    结构化语言。
    它产生高效率的程序。
    它可以在多种计算机平台上编译。
    .Net 框架的一部分
  • 布尔条件(Boolean Conditions)

  • 自动垃圾回收(Automatic Garbage Collection)

  • 标准库(Standard Library)

  • 组件版本(Assembly Versioning)

  • 属性(Properties)和事件(Events)

  • 委托(Delegates)和事件管理(Events Management)

  • 易于使用的泛型(Generics)

  • 索引器(Indexers)

  • 条件编译(Conditional Compilation)

  • 简单的多线程(Multithreading)

  • LINQ 和 Lambda 表达式

  • 集成 Windows

.net简介:

微软推出的软件开发 和运行平台。允许应用程序通过Internet进行通讯和共享数据。

.net平台与编程语言无关

核心框架是.net framework

2. C# 与 .Net 框架(.Net Framework)之间的关系。

参考 :通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? 多看

.Net 框架由一个巨大的代码库组成,用于 C# 等客户端语言。下面列出一些 .Net 框架的组件:

  • 公共语言运行库(Common Language Runtime - CLR)

  • .Net 框架类库(.Net Framework Class Library)

  • 公共语言规范(Common Language Specification)

在面向.NET开发中,编写跨语言组件时所遵循的那些共性,那些规范就叫做 Common Langrage Specification简称 CLS,公共语言规范

官方CLS介绍:https://docs.microsoft.com/zh-cn/dotnet/standard/language-independence-and-language-independent-components

  • 通用类型系统(Common Type System)

那么,什么是CTS呢?

当你需要设计面向.Net的语言时所需要遵循一个体系(.Net平台下的语言都支持的一个体系)这个体系就是CTS(Common Type System 公共类型系统),它包括但不限于:

  1. 建立用于跨语言执行的框架。

  1. 提供面向对象的模型,支持在 .NET 实现上实现各种语言。

  1. 定义处理类型时所有语言都必须遵守的一组规则(CLS)。

  1. 提供包含应用程序开发中使用的基本基元数据类型(如 Boolean、Byte、Char 等)的库。

上文的CLS是CTS(Common Type System 公共类型系统)这个体系中的子集。

一个编程语言,如果它能够支持CTS,那么我们就称它为面向.NET平台的语言。

官方CTS介绍: https://docs.microsoft.com/zh-cn/dotnet/standard/common-type-system

微软已经将CTS和.NET的一些其它组件,提交给ECMA以成为公开的标准,最后形成的标准称为CLI(Common Language Infrastructure)公共语言基础结构。

所以有的时候你见到的书籍或文章有的只提起CTS,有的只提起CLI,请不要奇怪,你可以宽泛的把他们理解成一个意思,CLI是微软将CTS等内容提交给国际组织计算机制造联合会ECMA的一个工业标准。

  • 元数据(Metadata)和组件(Assemblies)

  • Windows 窗体(Windows Forms)

  • Windows 工作流基础(Windows Workflow Foundation - WF)

  • Windows 显示基础(Windows Presentation Foundation)

  • Windows 通信基础(Windows Communication Foundation - WCF)

  • LINQ

标识符

标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中,类的命名必须遵循如下基本规则:

  • 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。

  • 标识符中的第一个字符不能是数字。

  • 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。

  • 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。

  • 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。

  • 不能与C#的类库名称相同。

问题记录

  1. 面向对象和面向过程的区别:

参考:如何通俗易懂地举例说明「面向对象」和「面向过程」有什么区别? - 力扣(LeetCode)的回答 - 知乎https://www.zhihu.com/question/27468564/answer/757537214

我对面向对象的理解:面向对象的编程方式使得每一个类都只做一件事面向过程会让一个类越来越全能,就像一个管家一样做了所有的事。而面向对象像是雇佣了一群职员,每个人做一件小事,各司其职,最终合作共赢!

  1. visual studio创建工程:控制台应用和控制台应用(.net framework) 有何区别?

框架不一样。前者是跨平台框架 net core,net5 net6,后者是framework。

参考:https://codedefault.com/p/difference-between-net-framework-and-net-core

WPF学习

学习内容

问题记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值