案例一:
【注1】将项目名定义为静态变量之后,可以直接用“类名.项目名”,不需要再重新创建一个对象
class Program
{
public static string projectName;
//所有标识了static关键词的结构,应用程序在运行加载时,就会提取到虚拟内存中
//用static 标识的内容属于常驻变量的内容,不会释放,除非程序关闭
static void Main(string[] args)
{
Console.WriteLine(Program.projectName);
//将项目名定义为静态变量之后,可以直接用“类名.项目名”,不需要再重新创建一个对象
Test();
}
public static void Test()
{
Console.WriteLine("你好!");
}
}
【注2】如果没有定义为静态变量,还要重新创建对象,才能够调用项目名
class Program
{
public string projectName;
//所有标识了static关键词的结构,应用程序在运行加载时,就会提取到虚拟内存中
//用static 标识的内容属于常驻变量的内容,不会释放,除非程序关闭
static void Main(string[] args)
{
Program pname = new Program();
Console.WriteLine(pname);
Test();
}
public static void Test()
{
Console.WriteLine("你好!");
}
}
【注3】使用静态标识符的好处是使用很方便,坏处是一直占用着虚拟内存
案例二:
//定义一个学生类
class Student
{
public string Name { get; set; }//非静态成员,属于对象
public static int age;
//用static 静态标识,静态成员,属于类,也就是说可以在main()调用时直接使用Student.age
}
//在main()方法中调用
static void Main(string[] args)
{
Student stu = new Student();
//在static 标识的静态方法内,不能够直接去调用非静态成员
Console.WriteLine("请输入学生的姓名:");
stu.Name = Console.ReadLine();
Console.WriteLine("请输入学生的年龄:");
Student.age = int.Parse(Console.ReadLine());
Console.WriteLine($"学生姓名为:{stu.Name},年龄为:{Student.age}");
}
案例三:
给出一组20个数字的前5个数:1、1、2、3、5,...,找到规律并输出这20个数
class Program
{
static void Main(string[] args)
{
int[] nums = GetNumbers();
for (int i = 0; i < nums.Length; i++)
{
Console.Write(nums[i]+" ");
}
Console.ReadLine();
}
public static int[] GetNumbers()
{
int[] nums = new int[20];//长度固定
nums[0] = 1;
nums[1] = 1;
for (int i = 2; i < nums.Length; i++)//从第三个数字开始算起
{
//第三个数字 = 第一个数字 + 第二个数字
nums[i] = nums[i - 1] + nums[i - 2];
}
return nums;
}
}