zoukankan      html  css  js  c++  java
  • 14.C#属性访问器、命名空间、pragma指令(七章7.3-7.5)

      看到一些零星的知识片,今天就用自己的理解说明下,也是因为太简单了,一下就过的,也是我们日常开发中常用。留下一个脚印,当书不在手上的,也能翻出来看看。说下属性访问器、命名空间和pragma指令。

      属性访问器在01.C#数据类型、排序、过滤(一章1.1-1.2)有所提到,在C#3后可以使用修饰符去修饰属性的取值和赋值,也可以使用加入一些验证,如下:

     1 class Plant
     2 {
     3     private double Height = 0.0;
     4 
     5     //是否需要修剪
     6     public bool canTrim
     7     {
     8         get
     9         {
    10             if (Height > 5.5)
    11             {
    12                 return true;
    13             }
    14             return false;
    15         }
    16     }
    17 }

      当一棵植物的高度超过5.5时就需要修剪。可以使用private和public修饰get和set,当然当我们把一个属性设置为private时,里面的get和set就不能使用private修饰符,这个也是很好理解的。

      使用命名空间可以使用代码组织更加有条理,结构清晰。使用using关键字,下面说下别名和全局情况。

      格式:using 别名=要引入的命名空间,如using Tasks = System.Threading.Tasks,使用Tasks别名代表 System.Threading.Tasks、using Files = System.IO.File使用Files别名代表File这个静态类,别名是可以拿一个类当作别名的。

      有一种情况是这样的,在全局作用域中一个与引入命名空间中的一个类名相同,那应该如何区分这两个类呢?C#为我们提供了global关键字,使用作用域解析符::,就可以直接使用到我们要的全局作用域中的类,如在顶级有一个类名叫Cup,则我们可以使用global::Cup来使用它。

      接下来说下pragma指令,这个基本我是没有使用过的,书上说有两种使用,一种是警告,一种是校验。警告还是可以理解的时,应该通知编译器打开或者关闭一些警告,如

    1 #pragma warning disable 1255
    2 private double Height = 0.0;
    3 #pragma warning restore 1255

      像上面的这个,Height如果没有被引用使用,编译器会发出一个警告,告诉我们这个变量我们没有使用过,通过删除,我们可以清除这个警告,但如果这个变量是在后期使用,且必须要保留,又想编译器不要总是提示这条警告,那pragma指令就派上用场了,使用disable和restore分别关闭和开启。

      对于校验,真心没使用过,也不敢说什么。以上就是一些小知识,一步一个脚印吧。

      请斧正。

      

  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/a2htray/p/4204752.html
Copyright © 2011-2022 走看看