位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C#靜態(tài)構造函數(shù)問題及解決方法

提問人:劉冬梅發(fā)布時間:2020-10-13

問題:在Student類的例子中,如果希望對象編號不是從1開始,而是從0到1000之間的隨機的數(shù)開始。

構造函數(shù)中雖然可以執(zhí)行代碼,但每個對象創(chuàng)建時都執(zhí)行,而本例中只希望第一個對象創(chuàng)建時執(zhí)行。

解決:

   C#中支持靜態(tài)構造函數(shù),靜態(tài)構造函數(shù)在類中第一個對象初始化或引用任何靜態(tài)成員之前執(zhí)行。

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);

    }

}

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部