zoukankan      html  css  js  c++  java
  • C#语法需要注意的地方

    笔试中遇到的一些C#语法方面的问题,由于平时很少用到,笔试的时候模棱两可,现在做一个笔记。

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Leetcode
     8 {
     9 
    10     /*静态构造函数举例*/
    11     class Person
    12     {
    13         /*静态构造函数不允许出现访问修饰符*/
    14         static Person()
    15         {
    16             Console.WriteLine("我是静态构造函数!!!");
    17         }
    18 
    19 
    20         /*
    21           在使用静态构造函数的时候应该注意几点:
    22 
    23             1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
    24   
    25             2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。
    26 
    27             3、一个类只能有一个静态构造函数。
    28 
    29             4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。
    30 
    31             5、最多只运行一次。
    32 
    33             6、静态构造函数不可以被继承。
    34 
    35             7、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
    36          */
    37     }
    38 
    39 
    40 
    41     /*readonly初始化举例*/
    42     class Sample
    43     {
    44         //readonly修饰的在初始化的时候可以多次赋值
    45         public readonly int readonlyValue = 100;/*第一次赋值*/
    46         public Sample(int value)
    47         {
    48             this.readonlyValue = value;/*第二次赋值*/
    49         }
    50     }
    51 
    52 
    53     /*static readonly和const*/
    54     class Fruit 
    55     {
    56         public const int color = 9;//通过类名直接进行访问
    57         public static readonly string type = "西瓜";
    58         /*s
    59         public Fruit()
    60         {
    61             type = "香蕉";//不能在普通的构造函数中赋值
    62         }*/
    63 
    64         static Fruit()//可以在静态构造函数中赋值
    65         {
    66             type = "苹果";
    67         }
    68     }
    69     /*
    70         const和static readonly的确非常像:通过类名而不是对象名进行访问,在程式中只读等等。在多数情况下能混用。
    71         二者本质的差别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。
    72      */
    73 }
  • 相关阅读:
    java相关知识集锦
    adb相关基础知识集锦
    我所理解的OOP——UML六种关系
    据说每个大牛、小牛都应该有自己的库——DOM处理续
    据说每个大牛、小牛都应该有自己的库——DOM处理
    JavaScript 继承
    据说每个大牛、小牛都应该有自己的库——Event处理
    据说每个大牛、小牛都应该有自己的库——框架篇
    可拖动的DIV续
    CSS hack前传——背景图片全屏
  • 原文地址:https://www.cnblogs.com/FJuly/p/4511975.html
Copyright © 2011-2022 走看看