当前位置:  开发笔记 > 编程语言 > 正文

在静态类中使用随机数

如何解决《在静态类中使用随机数》经验,为你挑选了1个好方法。

我在我的项目中创建了一个类来创建一个可以从其他形式执行的"全局方法".我不确定这是不好的做法,但因为它是一个static class,我不能(轻松)使用Random它.我的代码没有声明随机如下.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DefaultNamespace;

namespace LevelGenerator
{
    public static class LevelGen
    {
        static int levelIndex = 0;
        static DefaultNamespace.frmSplashScreen myMenu = new DefaultNamespace.frmSplashScreen();

        public static void NewLevel()
        {
            levelIndex = rnd.Next(1, 6);

简而言之,我需要一种可以从任何地方调用的方法 - 这就是为什么我使用了static class- 但它也需要有一个Random.我想有很多方法可以做到这一点.



1> adv12..:

您可以添加静态构造函数来初始化类(静态)变量.或者就此而言,您可以简单地使用组合的初始化和声明语句.

所以要么明确:

namespace LevelGenerator {
    public static class LevelGen {
        static Random random;

        static LevelGen() {
            random = new Random();
        }

        // ...
    }
}

或隐含的:

namespace LevelGenerator {
    public static class LevelGen {
        static Random random = new Random();

        // ...
    }
}


@Gnome意味着你需要在文件顶部使用`using System;`
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有