C#学习笔记

以下内容都是阅读《C#7.0本质论》所得

https://github.com/IntelliTect/EssentialCSharp

第四章. 操作符和控制流程

1.空合并操作符  ??

expression1 ?? expression2

??操作符支持短路求值。如expression1不为null,就返回expression1的值,另一个表达式不求值;如expression1为null,则返回expression2.

2.空条件操作符 ?.

args?.length //等价于
(args != null) ? (int?)args.length : null //int?表示返回值为可能为null的int对象

3.C#中的foreach类似于java中的增强for循环

for(type variable in collection){
    statement
}

4.C#中switch的条件子句中可以使用goto

5.预处理器指令 P119

可视编辑器提示 (#region, #endregion)

第五章. 方法和参数

1.引用参数(ref)

入参为引用地址,main中swap的入参值也会随着改变

class program{
    static void main(){
        ...
        swap(ref first, ref second);
        ...
    }
}

static void swap(ref string x, ref string y){
    ...
}

2.输出参数(out)

https://mp.csdn.net/console/editor/html/104390700

3.只读传引用(in)

P145

4.返回引用

P146

5.可选参数

声明方法时将常量值赋给参数X作为默认值,这样调用该方法时可以不穿该参数X·的入参

你可能感兴趣的:(.NET/C#爬坑系列)