如何更改静态公共变量的值

时间:2017-02-18 17:26:32

标签: c# variables

CREATE TABLE `data_facts` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `network_asset_code` varchar(255) NOT NULL DEFAULT '',
  `temperature` double(255,0) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;

嗯,我正在做的事情显然不起作用,我已经搜索了很长时间如何做到这一点,但我不能(抱歉我无法让代码片段工作) 如何更改公共/私有变量的值? (它将用于重置游戏

1 个答案:

答案 0 :(得分:2)

问题是你的reset方法声明隐藏公共字段的新局部变量。移除char并将,替换为;

static public void reset()
{
    box1 = ' ';
    box2 = ' ';
    box3 = ' ';
    box4 = ' ';
    box5 = ' ';
    box6 = ' ';
    box7 = ' ';
    box8 = ' ';
    box9 = ' ';
    bool isWin = false;
    int line = 1, nrJogada = 1;
    ciclo();
}

isWin方法终止时,其他本地变量linenrJogadareset将会丢失,正如@Rob指出的那样。

同样在这里,数组会更方便。

public static char[] box = new char[8] {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
public static char input2;

private static bool isWin = false;
private static int line = 1, nrJogada = 1;

static public void reset()
{
    for (int i = 0; i < box.Length; i++) {
        box[i] = ' ';
    }
    isWin = false;
    line = 1; nrJogada = 1;
    ciclo();
}

注意,在变量名之前写入类型名称,声明一个新变量。