博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】《C#6.0学习笔记》(1)
阅读量:5863 次
发布时间:2019-06-19

本文共 2648 字,大约阅读时间需要 8 分钟。

hot3.png

缘起

  • 第一次想从图书馆借,竟然没有借到,后来到图书馆看书的时候,随意就看到有了,然后借回来了。

内容

chap1 准备工作

  • 1.2 C#与.NET框架的关系
    • C#代码最终会被编译为“中间语言”(Microsoft Intermediate Language)。这样VB或其它语言的源代码都可以编译为MSIL呢。
  • 1.3 VS开发工具
    • 这个得找专门的pdf看
  • 1.4 创建第一个应用程序
    • 代码编辑器左侧,黄颜色的比较突出的标记,告诉我们,哪些代码是我们自己输入的,VS所生成的代码是不带标记的,同时告诉我们,黄色的标记表示还没有保存。
    • 黄色的标记,变成绿色,表示已经保存成功了。
    • shift+F5是“停止调试”。
    • “解决方案资源管理器”窗口,一个应用程序项目包含了哪些文件
      • P3
  • 1.5 解决方案与项目的关系
    • 一个解决方案至少包含一个项目。
    • VS会把当前解决方案中最先创建的项目定义为启动项目。
    • 在解决方案名称上右击“属性”(Alt+Enter)->“启动项目”->“单启动项目”

chap2 语法基础

  • 2.1 代码的基本结构
    • 程序的代码结构(命名空间 /类名 /静态Mian方法)
  • 2.2 命名空间
    • 使用命名空间是为了避免命名冲突。
    • 引用命名空间 using
      • 如果两个命名空间中都有T类,可以这样写using na = A; na.T;using nb = B; nb.T;
      • 在引入命名空间之前,读者要考虑目标命名空间的来源,如果不是本项目的,则要先引用目标命名空间所在的程序集,然后再用using语句来引入。
    • using static指令
      • 当静态类型被using static指令引入之后,在代码中访问静态类的成员时就不必输入类型的名称,而是直接输入静态类型的成员名称就可以了。
      • 所谓静态类型,即它是基于类型本身,而不是类型实例。在调用静态类型的成员之前不需要进行实例化,可以直接访问类型的成员。
      • 使用了using static System.Console;在代码中只能访问该类型的静态成员,不能访问实例成员(因为实例成员必须在类型实例化后才能访问)。
  • 2.3 Main入口点
    • 两个类中都有Main()方法时,选择其中一个作为应用程序的入口点。
      • 【项目】->右击“属性”->选择一个作为“启动对象”。
  • 2.4 变量与常量
    • 虽然有var关键字,但还是强类型int x = default(int);//int类型的默认值为0。
      • 代码在\第2章\Example_5。
    • 变量的生命周期
    • 常量
      • 常量的值一旦声明后不能更改,命名方式是使用大写字母。
      • 代码在\第2章\Example_6。
  • 2.5 命名规则
    • 可以用中文来命名
  • 2.6 运算符
    • 代码在\第2章\Example_7 到 \Example_10。
  • 2.7 流程控制
    • int []numbers = new int[]{2,50,22,9,17,85}; foreach(int n in numbers)适合用来枚举如数组、列表、集合之类的数据结构中的元素,事先也不必准确知道元素的个数。
    • 代码在\第2章\Example_11 到 \Example_16。
  • 2.8 写注释是个好习惯
    • 文档注释///开头的
  • 2.9 基本的数据类型
    • 所有类型都有一个共同的始祖Object类,任何数据类型都是从Object类直接或间接派生出来的。
    • system.**的结构也对应着C#语言的相应的关键字。
  • 2.10 不要错过《C#语言规范》文档
    • 32位系统位于:\Microsoft Visual Stuido 14.0\VC#\Specifications\2052
    • 64位系统位于:\Microsoft Visual Stuido 14.0\VC#\Specifications\2052

chap3 面向对象编程

  • 3.1 类

    • 字段:类(或结构)内部定义的一种变量。
    • 属性:用于描述类的特征,它可以对字段进行封装。通常属性带有get和set访问器。
      • 如果希望让属性可读,直接去掉set访问器即可,仅保留get访问器。
      • 字段是真正存储数据值的变量,而属性只是一个对外公开的一个“窗口”,数据通过属性来传递。
      • public int MaxTaskNum => 500;等价于 public int MaxTaskNum get{return 500;}
      • => 是Lambda表达式的符号,右边可以省略return关键字。
    • 方法
      • 调用方法时写上参数的名字Add(b:5,a:3)
      • 可选参数void DoWork(string p1,string p2="abc"){}
    • 构造函数与析构函数
      • 53
  • 3.2 结构

    • 只能声明带参数的构造函数,不能声明默认构造函数
    • 结构不能进行继承和派生,但可以实现接口。从System.ValueType派生,结构是值类型。
    • 结构在实例化时可以忽略new运算符,而类不可以。
      • 在未使用new关键字实例化结构的前提下,只能调用其字段,而属性、方法等成员无法调用。
    • 在结构中声明的字段,不能初始化。
  • 3.3 引用类型与值类型 P59

    • 引用类型
      • 代码在\第3章\Example_2
  • 3.4 ref参数与out参数 P61

  • 3.5 方法重载 +

  • 3.6 静态类与静态成员

  • 3.7 继承与多态

  • 3.8 抽象类

  • 3.9 接口

  • 3.10 扩展方法

  • 3.11 委托与事件

  • 3.12 枚举

  • 3.13 特性

  • 3.14 数组

chap4 控制台应用程序

  • 4.1 输出文本信息
    • System.Console类公开一系列静态成员
      • Write()
      • WriteLine();//会加换行符
      • 代码在\第4章\Example_1
  • 4.2 获取键盘输入
    • Console类有三个方法
      • Read()
      • ReadKey()
      • ReadLine()
      • 代码在\第4章\Example_2 到 \Example_4
  • 4.3 命令行参数 P131
    • 代码在\第4章\Example_5
  • 4.4 设置控制台窗口的外观
    • 修改以下几个属性
      • Title
      • ForegroundColor
      • BackgroundColor
    • 代码在\第4章\Example_6
  • 4.5 控制台窗口的大小和位置
    • 代码在\第4章\Example_7

结束

  • 参考的教材是周家安写的
  • 2017-05-22看了4个番茄钟,整了第一版。

转载于:https://my.oschina.net/wolflion/blog/906953

你可能感兴趣的文章
python之错误调试
查看>>
C/C++面试题总结(1)
查看>>
Notes:SVG(3)---滤镜和渐变
查看>>
yaf && cli实战笔记
查看>>
【转载】30个最常用css选择器解析
查看>>
[Errno 2] No such file or directory
查看>>
xadmin集成DjangoUeditor,以及编辑器的视频路径配置
查看>>
PoEdu - C++阶段班【Po学校】- 第3天
查看>>
ios 开发 隐藏状态栏 更改状态栏颜色
查看>>
python并发编程之多进程
查看>>
[Python3网络爬虫开发实战] 1.7.2-mitmproxy的安装
查看>>
iOS推送跳转AppDelegate跳转VC
查看>>
透过Nim游戏浅谈博弈
查看>>
【转】以太网最大帧和最小帧、MTU
查看>>
MYSQL 优化常用方法
查看>>
Sharepoint 2013 启用搜做服务
查看>>
详解BarTender符号体系特殊选项之“行数”
查看>>
关于java中指针的概念
查看>>
由数量众多照片拼贴而成的马赛克图片
查看>>
nginx指定conf
查看>>