美文网首页
菜鸟文档 C#教程(一)

菜鸟文档 C#教程(一)

作者: 风之子__ | 来源:发表于2022-05-27 23:05 被阅读0次

菜鸟文档 C#教程

[toc]
只记录与C++不同处

初级语法

  • C#运算符
    • is 判断类型
    • as 无异常强制转换
  • C#循环
    • foreach(type i in type[] list)
  • C#封装
    • internal
    • protected internal
  • C#方法
    • 输出传参
      • out
    • 引用传参
      • ref
  • C#可空类型
    • ?单问号定义可空类型
      • int? i;默认为null
    • ??双问号Null合并运算符
      • 按顺序从前到后返回第一个不为null的值
  • C#数组
    • 多维数组
      • int[,] 二维
    • 交错数组
      • 类似C多维数组
    • 参数数组
      • function(params int[])
    • Array类

高级语法

  • 特性Attribute
    • 元数据
      • 编译器指令
      • 注释
      • 描述
      • 方法
      • ...
    • 声明性标签
    • 使用特性
      • 在应用元素前一行 [特性(参数)]
    • 预定义特性
      • AttributeUsage辅助声明一个自定义特性
      • Conditional标记一个条件方法Debug或Trace
      • Obsolete标记过时元素
    • 自定义特性
      • 声明自定义特性类
        • 使用AttributeUsage进行标记特性
        • 继承System.Attribute
      • 构建自定义特性
        • 确定私有属性和共有属性
        • 必须的定位positional参数和可选的named参数
        • positional属性通过构造函数初始化
      • 应用自定义特性
        • 前一行使用特性标记即可
      • 通过反射访问特性
  • 反射Reflection
    • 作用
      • 运行时查看元数据
      • 审查集合中各种类型,实例化
      • 延迟绑定方法属性
      • 运行时创建新类型,使用类型
  • 属性Property
    • 基本概念
      • 命名named成员
      • 域Field:类或结构中的成员变量或方法
      • 属性:域Field的拓展
        • 访问私有域的值
    • 访问器accessor
      • 声明定义
      // 声明类型为 string 的 Code 属性
      public string Code
      {
         get
         {
            return code;
         }
         set
         {
            code = value;
         }
      }
      
      • 使用:当作公有域来使用
    • 抽象属性
      • 声明加abstract,实现加override
  • 索引器Indexer
    • 使用数组访问运算符[]访问类的成员
    • 声明类似属性的声明,也有点像[]运算符重载
      • element-type this[int index]{get{} set{}}
    • 索引器也可被重载,不一定非得整型
      • int this[string name]
  • 委托delegate
    • 概念:类似函数指针,可用委托间接调用同参,同返回的别的方法
    • 声明:delegate 返回值与参数与回调调用方法一致
    • 实例化:将回调方法名当作参数传入new中
    • 使用:正常函数调用形式
    • 多播:+,-运算符组合多个相同接口结构的回调函数,使用时会顺序执行
  • 事件event
    • 概念
      • 事件:通过委托特性调用一系列回调函数
      • 发布器订阅器模型:发布器声明委托和事件,订阅器提供事件发生时,该调用的回调函数
    • 发布器定义:
      • 先声明委托
      • event delegatename eventname;
      • 编写使用委托机制的“逻辑事件”方法,达到“事件”发生通过委托调用回调方法的逻辑。
    • 订阅器定义:
      • 提供回调方法
    • 使用:
      • 实例化发布器与订阅器
      • 定义发布器中的委托,与订阅器中的回调方法相关联
        • 可直接将实例化的委托通过+-号对发布器中事件本身进行定义
      • 通过发布器调用“逻辑事件”方法,内部调用到委托时,就会调用关联好的订阅器中的回调方法
      EventTest e = new EventTest(); /* 实例化对象,第一次没有触发事件 */
       subscribEvent v = new subscribEvent(); /* 实例化对象 */
       e.ChangeNum += new EventTest.NumManipulationHandler( v.printf ); /* 注意!这里是事件进行委托的加减操作 */
       e.SetValue( 7 );
       e.SetValue( 11 );
      
  • 集合Collection
    • ArrayList动态数组
    • Hashtable哈希表
    • SortedList排序列表
    • Stack堆栈
    • Queue队列
    • BitArray点阵列
  • 泛型Generic
    • 延迟编写类或方法中的数据类型,运行时指定
    • 声明:在类或方法名后加尖括号参数为泛型类型名<T>
    • 使用:加尖括号指定具体类型
    • 泛型特性
      • 重用性
      • 创建泛型集合类
      • 各种泛型组合
      • 对泛型进行约束:使用where语句
      • 关于泛型数据类型的信息,可在运行中使用反射获取
        • typeof(T)返回System.Reflection.MemberInfo
    • 应用类型
      • 泛型类
      • 泛型方法
      • 泛型委托
      • 泛型事件
  • 匿名方法
    • 只有名称没有主体的方法
    • 使用委托对象调用委托所引用的方法
    delegate void NumberChanger(int n);
     // 使用匿名方法创建委托实例
    NumberChanger nc = delegate(int x)
    {
       Console.WriteLine("Anonymous Method: {0}", x);
    };
    
    // 使用匿名方法调用委托
    nc(10);
    
  • 不安全代码
  • 多线程
    • 线程:程序执行路径
    • 线程生命周期
      • 创建状态
      • 就绪状态
      • 不可运行状态
      • 死亡状态

相关文章

  • 菜鸟文档 C#教程(一)

    菜鸟文档 C#教程 [toc]只记录与C++不同处 初级语法 C#运算符is 判断类型as 无异常强制转换 C#循...

  • numpy教程

    numpy中文文档 NumPy 教程 | 菜鸟教程

  • 应有的学习历程

    jupyter lab latex markdown markdown学习 python C#学习(菜鸟教程) 游...

  • 充电站

    一、前端 ES6教程-菜鸟教程 React官方文档-中文 Vue官方文档-中文 Antd UI组件官方文档 ECh...

  • scala

    教程 Scala官方文档 Scala 菜鸟教程 Scala 课堂 SBT 中文文档 手册 Scala Api Ja...

  • React 参考汇总

    ECMAScript 6 入门 React 入门实例教程 中文文档地址 极客学院整理的文档 React 菜鸟教程 ...

  • 十一月-笔试面试刷题

    这些都是掘金网上面的,看的时候遇到不清楚相关的知识点时: 菜鸟教程 里面的文档,查询相关知识点。 菜鸟教程文档可能...

  • 《C# 教程》菜鸟教程

    学习地址 C#有用的网站 C# Programming Guide - 介绍了有关关键的 C# 语言特征以及如何通...

  • django

    1、参考文档(1)、官方文档:https://www.djangoproject.com/(2)、菜鸟教程http...

  • Django项目部署

    文档参考 参考菜鸟教程 官方文档教程 软件安装 安装Django ## 创建项目 启动项目 创建模型 创建项目内子...

网友评论

      本文标题:菜鸟文档 C#教程(一)

      本文链接:https://www.haomeiwen.com/subject/xadbprtx.html