在c# for循环中定义变量的问题

本文关键字:变量 问题 定义 for 循环 | 更新日期: 2023-09-27 18:14:18

我和我的朋友已经摆弄了好几个小时了,但我们就是不知道它出了什么问题。它实际上是在一个数组中运行如果按钮应该是锁定的或可交互的,如果它是空的,它将是可交互的。通过使用播放器偏好,这些设置应该在应用程序的每个会话中持续存在。

代码如下:

for (i = 0; i < buttons.Length; i = i + 1) {
    if (PlayerPrefs.GetInt("button" + string.Format i) == null) {
        PlayerPrefs.SetInt("button" + string.Format i, 1);
    }
    if (PlayerPrefs.GetInt("button" + string.Format i) == 1) {
        button.interactable = true;
    } else {
        button.interactable = false;
    }
}

当前unity显示5个错误:

  • 错误CS1525:意外符号' i'(其中2个)
  • 错误CS1519:类,结构或接口成员声明中意外的符号' else'
  • 错误CS1519:类、结构或接口成员声明中意外的符号' ='
  • 错误CS8025:解析错误

在c# for循环中定义变量的问题

只是猜测,但你应该写:

for (int i = 0; i < buttons.Length; ++i) {

你可能忘了声明i

还有这一行:

PlayerPrefs.GetInt("button" + string.Format i)

字符串。格式是string的一种静态方法。语法错误。你可以这样写:

PlayerPrefs.GetInt("button" + i)

或者这样:

PlayerPrefs.GetInt(string.Format("button{0}",i));