c# - KeyNote1

  • c#编译器禁止编译没有赋值的变量

  • c#if表达式必须是布尔表达式,整数表达式不能通过编译,区别于c,c++
  • c#不支持全局方法,所有方法都必须在一个类的内部,否则无法编译
  • c#中要明确指定返回类型,无返回时使用void
  • void类型的方法最好在方法体内用return结束方法调用,这是个良好的习惯。(虽然函数执行到最后的花括号后回自动结束

  • 如果一个方法的大小超过了一个屏幕,就因该考虑把他分解为更小的方法,以增强代码的可读性
  • 在c#术语中,开发者使用字段field一词来描述由一个类定义的变量,这些变量具有这个类的作用域,可以用field在不同的方法间共享数据

重载 override

  • 如果两个标识符同名,并且是在同一个作用域中声明的,那么这个标识符就被重载
  • 如果需要针对不同的数据类型执行相同的操作,那就需要用到重载了;eg:console.WriteLine(),就可以接收不同类型的参数
  • 可以重载参数的类型和数量,但不可重载方法的返回类型
  • console.write() 不会在输出的内容后加一个换行符,console.writeLine()会在输出的内容后加上一个换行符
  • {0},是C#输出语句里面的一个占位符。 Console.WriteLine("打印出:{0},{1},{2}",i,j,k);这句会按i, j, k的顺序放到{0}, {1},{3}的位置,也可以把变量转换成字符串后,在用字符串连接符“+”把i,j,k连接输出

  • c#支持定义可选参数,即在定义方法时为该参数指定一个默认值,但可选参数必须放在必选参数的后边;eg:
void add(int first, float second =0.0, string third = "hello")
{
        ...
}
// invoke add()
add(100, 9.9, "world");
add(2, 9.9); //这种调用方法没有为第三个参数赋值,那么第三个参数即使用默认值
// 传递命名参数
add(first :11, second: 11.11, third: "world");
add(11, third: "world"); //第二个参数用默认值
add(third: "world", second: 11.11, frist : 11);
  • 消除可选参数命名参数的歧义(P59——c#2010)

你可能感兴趣的:(c# - KeyNote1)