c# - 理解列表:语法和传递参数
问题描述
我在理解 C# 中的列表时遇到了一些困难,希望有人能帮助我理解。
在尝试学习的过程中,我一直在学习几个教程,但是有两点让我有些困惑。
我遇到的第一个问题是了解在列表中的元素中传递的参数。
("fire", 5)
("static", 3)
我理解第一个,但是字符串后面的整数代表什么?
我的第二个问题是基于最后一行:
powerUps RandomPowerup = powerUpsList[Random.Range(0, powerUpsList.Count)]
有人告诉我...
powerUpsList ...在上下文中不存在。
我理解消息的含义,但不明白这是怎么回事。我的猜测是我遗漏了一个语法,但我不太明白在哪里。
这是上下文的完整代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class powerUpList : MonoBehaviour
{
void Start()
{
List<powerUps> powerUpsList = new List<powerUps>();
powerUpsList.Add(new powerUps("fire", 5));
powerUpsList.Add(new powerUps("static", 3));
powerUpsList.Add(new powerUps("shield", 0));
powerUpsList.Add(new powerUps("repel", 0));
powerUpsList.Add(new powerUps("repairKit", 0));
powerUpsList.Add(new powerUps("thorns", 3));
powerUpsList.Add(new powerUps("bearBooster", 1));
powerUpsList.Sort();
}
void OnTriggerEnter(Collider player)
{
powerUps RandomPowerup = powerUpsList[Random.Range(0, powerUpsList.Count)];
}
}
如果您能给我提供任何帮助、见解或建议,我将不胜感激。
解决方案
如果没有看到powerUps
类的定义,我们将无法告诉您字符串后面的数字是做什么用的。您正在调用powerUp
该类的构造函数,因此您需要参考它以了解它的用途。
对于第二部分,您使用该功能创建通电列表Start()
。一旦该函数返回,该列表将不再存在。要解决此问题,您需要创建powerUpsList
一个类变量。这应该有效:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class powerUpList : MonoBehaviour
{
private List<powerUps> powerUpsList;
void Start()
{
powerUpsList = new List<powerUps>();
powerUpsList.Add(new powerUps("fire", 5));
powerUpsList.Add(new powerUps("static", 3));
powerUpsList.Add(new powerUps("shield", 0));
powerUpsList.Add(new powerUps("repel", 0));
powerUpsList.Add(new powerUps("repairKit", 0));
powerUpsList.Add(new powerUps("thorns", 3));
powerUpsList.Add(new powerUps("bearBooster", 1));
powerUpsList.Sort();
}
void OnTriggerEnter(Collider player)
{
powerUps RandomPowerup = powerUpsList[Random.Range(0, powerUpsList.Count)];
}
}
推荐阅读
- javascript - Javascript 函数接受可观察值或直接值作为输入潜在陷阱
- python - Python 3 - 查找丢失的元组范围
- webpack - ENOTEMPTY:目录不为空,rmdir
- python - 新人的 PyCharm:创建新的 python 文件?
- maven - 如何运行 maven 插件的集成测试?
- bash - 读取文本文件的第一行后,Bash 脚本 while 循环停止
- routes - 从 Navigator 到 MaterialApp 的 routeSettings 颤动
- javascript - JQuery slidetoggle嵌套列表关闭打开列表不起作用
- primefaces - 自定义 pe:documentViewer 按钮行为
- excel - 用于数据聚合的 VBA 或 excel 公式