二十四、初识static

案例一:

【注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;
    }
}  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值