out ,ref ,parmas,以及结构Struct 总结

class Program
{
static void Main(string[] args)
{
//①属性本身不存值,值是存在这个属性所封装的字段里面
//没有办法调用默认的构造函初始化
//Point p;
//Console.WriteLine(p);

//会调用默认的构造函数对的Point对象初始化
Point p1 = new Point();
Console.WriteLine(p1);
//Console.ReadKey();
//静态的构造函数会先于实例构造函数执行
Cat c;
Cat c1 = new Cat();
Cat c2 = new Cat();

Console.ReadKey();
Array[] arrays = new Array[] { };
int[] arry = new int[] { 1,2};

//可变参数 只能放在方法参数的最后使用 参数是可以动态累加的
//一个函数中只能一个参数带params关键字
//带params关键字的参数必须是最后一个参数
//带params关键字的参数类型必须是一维数组
Param(1,"",1);
Console.Write("\n ---------------\n");
Param(1, "", 1, 2, 3);
}

//params 可变参数 用来修饰一维数组 sqlHelper 中常用 params SqlParameter[] pas
public static void Param(int a, string 参数b , params int[] arr)
{
foreach (var item in arr)
{
Console.WriteLine(item);
}
}

}
//定义结构
struct Point
{
//定义时赋初始值,编译器会报错
private int x;
public string name;
//public Point(int x ,string name) {
// this.name = "zf";
// this.x = 0;

//}
}
// 1、静态类的主要特性:

  //[1] 仅包含静态成员。

  //[2] 无法实例化。

  //[3] 静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化。

  //[4] 不能包含实例构造函数。

  //[5] 如果一个类下面的所有成员,都需要被共享,那么可以把这个类定义为静态类。
public static class Person
{
//private int nAge;
private static string strName;

static Person()
{
}
}
//静态类可以有静态的构造函数(且所有类都可以有静态的构造函数)
class Cat
{
private int n;
public string strName;

//实例构造函数
public Cat()
{
Console.WriteLine("看谁先执行2");
}

//静态构造函数
static Cat()
{
Console.WriteLine("看谁先执行1");
}

}

posted @ 2019-02-13 17:04  安迪zf  阅读(180)  评论(0编辑  收藏  举报