当前位置: 首页 > news >正文

厦门seo外包流程优化的七个步骤

厦门seo外包,流程优化的七个步骤,网站图片链接到视频怎么做,个体户工商可以做经营性网站吗第九章 参数 可选参数和命名参数 可选参数:在方法声明中为参数指定默认值,在调用方法时,如果不提供相应可选参数的值,将会使用默认值命名参数:在调用方法时通过指定参数名称来传递参数值,而不是按照参数在方…

第九章 参数

  1. 可选参数和命名参数

    1. 可选参数:在方法声明中为参数指定默认值,在调用方法时,如果不提供相应可选参数的值,将会使用默认值
    2. 命名参数:在调用方法时通过指定参数名称来传递参数值,而不是按照参数在方法签名中的顺序,并且可以跳过一些可选参数
    3. 规则和原则
      1. 可以为方法,构造器方法,有参属性,委托定义的参数指定默认值
      2. 有默认值的参数必须在无默认值的参数后(可变数量参数的情况除外)
      3. 默认值必须是编译时能确认的常量值(基元类型,枚举类型,可为null的引用类型),可以用default和new关键字来表达
      4. 不要重命名参数变量,不要更改参数默认值
      5. ref和out关键字标识的参数不能设置默认值
  2. 隐式类型的局部变量

    1. 在编译器可以推断局部变量的类型时,可以用var声明(编译器能自动察觉返回类型的变化并自动更改参数类型)(不可以var a = null)
    2. 不可以用var声明参数类型
    3. 注意var与dynamic的区别:var只能声明局部变量,必须显式初始化;dynamic可以用于局部变量,字段和属性,无需初始化;表达式不能转成var,但可以转成dynamic
  3. 以引用方式传递参数

    1. 默认情况下所有参数都是值传递:值类型参数传递值的副本,引用类型参数传递对象引用(能够修改对象本身)
    2. 用out和ref以引用方式传递参数,CLR不区分两个关键字,两者生成的IL代码相同(所以两个重载方法只有out和ref的区别是不合法的,C#要求调用时必须指定out和ref是为了调用方法时更清晰了解方法的意图)
      1. out在返回前必须向这个值写入
      2. ref在调用前必须初始化参数的值
    3. 引用类型必须与方法签名中声明的类型相同
  4. 可变数量的参数

    使用params关键字(只能应用于最后一个参数),指定一个数组容纳不定数量的实参(可以是Object[]以实现任意数量,任意类型的参数)

  5. 参数和返回类型的设计规范

    1. 声明参数类型时,尽量指定最弱的类型(使用IEnumerable<T>要比List<T>更灵活,因为IEnumerable<T>可以通过数据,List<T>,String等)
    2. 声明返回类型时,尽量指定最强的类型(使用FileStream要比Stream灵活,因为FileStream可以视作Stream对象,反之不行)
  6. 常量性

    CLR不允许将方法或参数声明为常量(实际上C++中的常量参数也可以通过取地址和强制类型转换绕过常量不可更改的限制)

第十章 属性

  1. 无参属性

    1. 属性都有名称和类型(不能是void),不能重载。可以有选择的实现get和set方法,以将所有的字段设为private来保护数据(通过属性来访问和修改字段)
    2. 编译器在属性名前自动附加get_和set_生成方法名
    3. 自动实现的属性:声明一个属性而不提供get/set方法的实现,C#会自动生成一个私有字段
      1. 不能显式的初始化
      2. 无法反序列化
      3. 不能添加断点
    4. 一些属性和字段的误区
      1. 属性可以只读和只写,字段一般总是可读可写的(readonly除外)
      2. 属性访问可以抛出异常,字段不会
      3. 属性不能作为out/ref参数传给方法,字段可以
      4. 属性的访问方法可能较为耗时,字段总是立即访问
      5. 连续多次调用,属性可能返回不同值(例DateTime.Now),字段每次返回相同值
      6. 属性的访问可能造成对象状态的改变,字段不会
      7. 对属性返回对象的修改可能作用不到原始对象上,字段返回的引用总是指向原始对象状态的一部分
  2. 对象和集合初始化器

    若要构造一个对象并设置对象的一些公共属性或字段,可以使用的特殊语法,例:

    var somtype = new SomeType() { xx = xxx, yy = yyy}

    若有无参构造器,还可以省略小括号()

    主要用来提升代码可读性

  3. 匿名类型

    1. 声明一个不可变的元组类型,例:

      var a = new { xx = xxx, yy = yyy }

    2. 编译器会自动生成私有字段及其对应的共有只读属性,并生成一个构造器,重写Object的Equals,GetHashCode,ToString方法

    3. 由于重写了GetHashCode以及字段是只读的,所以可以在哈希表中作为键使用

    4. 定义多个相同结构的匿名类型,只会创建一个匿名类型定义

    5. 可以创建类似的System.Tuple类型(泛型,通过Item1、Item2等访问属性)

  4. 有参属性(在C#中称为索引器,可以看作对[]运算符的重载)

    1. 索引器至少有一个参数,参数和返回类型可以是除了void以外的其他类型
    2. 索引器默认生成的方法名为get_Item和set_Item(可以用IndexerName特性改变)
    3. C#允许一个类定义多个索引器(参数集需要不同)
  5. 属性访问器方法的性能

    简单的get和set代码,JIT编译器会将代码内联(将代码直接编译到调用它的方法中),基本没有性能损失(编译好的方法会变大,但是访问器的代码一般来说比较少)

  6. 属性访问器的可访问性

    可以为get和set设置不同的可访问性(一般get-public,set-protected);属性本身的可访问性只能是二者限制更大的那个

  7. 泛型属性访问器方法

    C#不允许属性使用泛型参数,此时应该定义方法而不是属性

http://www.hkea.cn/news/306256/

相关文章:

  • 同仁行业网站建设报价北京做的好的seo公司
  • 陕西自助建站做网站郑州外语网站建站优化
  • 小型企业网站系统cilimao磁力猫最新版地址
  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作
  • 郑州企业网站建设兼职推广渠道
  • 网站哪些数据优化大师的作用
  • 政府网站集约化建设总结营销软文推广平台
  • 学网站开发跟那个专业最相近百度站长平台注册
  • 网站开发python电脑培训班有哪些科目
  • 惠州响应式网站哪家好云盘搜索