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

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Leetcode
{ /*静态构造函数举例*/
class Person
{
/*静态构造函数不允许出现访问修饰符*/
static Person()
{
Console.WriteLine("我是静态构造函数!!!");
} /*
 在使用静态构造函数的时候应该注意几点:    1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
  
   2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。    3、一个类只能有一个静态构造函数。    4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。    5、最多只运行一次。    6、静态构造函数不可以被继承。    7、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
*/
} /*readonly初始化举例*/
class Sample
{
//readonly修饰的在初始化的时候可以多次赋值
public readonly int readonlyValue = ;/*第一次赋值*/
public Sample(int value)
{
this.readonlyValue = value;/*第二次赋值*/
}
} /*static readonly和const*/
class Fruit
{
public const int color = ;//通过类名直接进行访问
public static readonly string type = "西瓜";
/*s
public Fruit()
{
type = "香蕉";//不能在普通的构造函数中赋值
}*/ static Fruit()//可以在静态构造函数中赋值
{
type = "苹果";
}
}
/*
const和static readonly的确非常像:通过类名而不是对象名进行访问,在程式中只读等等。在多数情况下能混用。
二者本质的差别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。
*/
}

C#语法需要注意的地方的更多相关文章

  1. nodejs 语法很特别的地方

    1. 不过我们之前说过了有 this 和没 this 的时候作用域不同,那个参数只是作用于构造函数中,而加了 this 的那个则是成员变量.用一个 this 就马上区分开来他们了,所以即使同名也没关系 ...

  2. bat语法需要注意的地方

    if else 格式                            if exist C:\Python27  ::空格  (                      ::(与if在同一行  ...

  3. MYSQL安全模式SQL语法需要注意的地方

    MYSQL安全模式 Mysql版本: 背景: 为了避免在执行delete.update将全表数据清空或者覆盖修改,在新项目营销云中开启了mysql的安全模式. 安全模式要求不能对非主键的条件查询做up ...

  4. WPF的"路径标记语法"

    在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线)  // L 100,0 C:三次方贝塞尔曲线   // ...

  5. PHP中的替代语法(转)

    我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如: <?php if(empty($GET_['a'])): ?> <font color=" ...

  6. PHP中的替代语法(冒号、endif、endwhile、endfor)

    我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如: <?php if(empty($GET_['a'])): ?> <font color=" ...

  7. 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

  8. PHP流程控制的替代语法

    准备做个wordpress的主题,结果看到了如下的语法: <div id="primary" class="content-area"><ma ...

  9. PHP流程控制中不经常使用的替代语法

    准备做个wordpress的主题.结果看到了例如以下的语法: <div id="primary" class="content-area"> < ...

随机推荐

  1. mysql视图和存储过程定义者修改脚本(懒人专用)

    前言: 在实际工作中mysql数据库的迁移.备份恢复.数据库重命名等一系列涉及到视图和存储过程定义者问题都会需要修改,每次都要从基础表获取数据,然后手工整理做脚本,十分麻烦,所以简单写了个过程,以后可 ...

  2. zookeeper使用场景【转】

    分布式网站架构后续:zookeeper技术浅析   Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多. ...

  3. android133 360 06 一键锁频,清楚数据

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  4. QT连接多种数据库f方法及测试

    QT提供了对多种数据库的访问支持,对SQL Server也可以通过ODBC来进行访问.要想顺利访问SQL Server. 首先要保证以下几点:1. QT编译时已经编译了QtSql2. 编译了ODBC插 ...

  5. 在 iOS 8 中使用模糊效果

    在 iOS 7 出來一個背景模糊的效果, Apple 官方的 sample code 則有提供怎麼使用 vImage, Quartz 來實作這個效果.接著在 iOS 8 出來之後,則提供了  UIVi ...

  6. Android打包程序

    右击项目->导出export next,完成相关信息填写将得到.apk文件,即可部署到手机上. 第一次: 然后打开目录就可以看到生成的apk,可以发布到各大市场上.

  7. 有关<action android:name="android.intent.action.DELETE" />

    今天看一个病毒样本时遇到了这个Action,位于一个Activity节点下 通过真机测试与导师指导发现,这个Action的作用就相当于把其所在的应用加入到了“系统卸载程序”列表,当你卸载系统中的任一应 ...

  8. hunnu 11313 无重复元素序列的最长公共子序列转化成最长递增子序列 求法及证明

    题目:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11313 湖师大的比赛,见我的另一篇水题题解,这里要说的 ...

  9. centos中安装jdk方法

    RPM安装方法一: 1.检验系统原版本[root@zck ~]# java -versionjava version "1.6.0_24"OpenJDK Runtime Envir ...

  10. 关于php正则表达式模式修饰符

    一直以来,以为自己的正则表达式学的还算可以(基本工作上遇到的问题都能解决),但有时候却是知其然而不知其所以然,在网上看到这篇文章,解释了之前的很多疑问,记录下来,随时温故而知新. i (PCRE_CA ...