首页 > 软件操作教程 > 编程开发 > C#
题目内容

C#静态构造函数问题及解决方法

题目答案

问题:在Student类的例子中,如果希望对象编号不是从1开始,而是从0到1000之间的随机的数开始。

构造函数中虽然可以执行代码,但每个对象创建时都执行,而本例中只希望第一个对象创建时执行。

解决:

   C#中支持静态构造函数,静态构造函数在类中第一个对象初始化或引用任何静态成员之前执行。

using System;


public class Student

{

    public int serialNumber;

    private static int counter;

    static Student()

    {

        Random rand = new Random(0);

        counter = rand.Next(0, 1000);

    }

    public Student()

    {        

        serialNumber = counter;

        counter++;

    }

}


class MyApp

{

    static void Main()

    {

        Student stu = new Student();

        Console.WriteLine(stu.serialNumber);

        Student stu1 = new Student();

        Console.WriteLine(stu1.serialNumber);

    }

}

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端