static关键字可以修饰类、方法、成员变量,修饰后即静态类/方法/字段
C#中静态方法调用可通过 类名.方法 来调用,类名.字段
public class A
{
public static string Info{get;set;}//静态属性
//定义一个静态方法
public static void GetName()
{
}
}
class Program
{
static void Main(string[] args)
{
//调用A类中静态方法/属性
A.GetName();
A.Info;
}
}
静态成员被调用内存中,只要系统不关闭就不会被GC回收。
类的成员使用非常频繁可以考虑使用static,但不要太多
静态方法不能直接调用实例方法,静态方法可以重载
命名参数(使用命名参数赋值,可以不按定义的参数顺序传递值,按参数名传递值)
public class A
{
public string GetInfo(int id, string name)
{
}
}
class Program
{
static void Main(string[] args)
{
A a=new A();
//使用命名参数赋值,可以不按定义的参数顺序传递,按参数名传递值
a.GetInfo(name:"小章",id:1001);
}
}
默认参数
public class A
{
public string GetInfo(int id, string name="匿名用户")//设置默认参数
{
}
}
class Program
{
static void Main(string[] args)
{
A a=new A();
//此时name不传递值就会调用默认值, //但如果有一个GetInfo(int id)方法重载就无效了
a.GetInfo(1001);//1001,匿名用户
a.GetInfo(1002,"xiaoz");//1002,xiaoz
}
}
重载的好处:减少接口,方便使用
重载条件:方法名称必须一样,参数类型或数量必须不同
方法重载与返回值无关