gpt4 book ai didi

c# - C# 中的变量作用域

转载 作者:行者123 更新时间:2023-11-30 19:00:44 27 4
gpt4 key购买 nike

我的网络服务程序应该生成一个随机代码并将其返回给客户端程序。现在它返回“”作为代码而不是随机生成的代码。我的变量范围有什么问题?谢谢。

public class Service1 : System.Web.Services.WebService
{
private string code = "";

[WebMethod]
public void StartGame()
{
// Pick a secret code
// R, B, G, O, T, W, P, Y
Random random = new Random();
for (int i = 0; i < 4; i++)
{
int num = random.Next(8) + 1;
if (num == 1)
this.code += "R";
else if (num == 2)
this.code += "B";
else if (num == 3)
this.code += "G";
else if (num == 4)
this.code += "O";
else if (num == 5)
this.code += "T";
else if (num == 6)
this.code += "W";
else if (num == 7)
code += "P";
else if (num == 8)
this.code += "Y";
}
}

[WebMethod]
public string MakeGuess(string guess)
{
return this.code;
}
}

最佳答案

问题是这些方法在该类的两个独立实例上被调用。当 HTTP 请求进入时,每个方法都会在该类的新实例上调用一次,然后该类将被丢弃。由于 HTTP 协议(protocol)的无状态特性,服务器将不知道这些请求以某种方式相关。

关于c# - C# 中的变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com