Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 理解列表:语法和传递参数_C#_List - Fatal编程技术网

C# 理解列表:语法和传递参数

C# 理解列表:语法和传递参数,c#,list,C#,List,我在理解C#中的列表时有点困难,希望有人能帮助我理解 我一直在学习一些教程,但有两点让我有点困惑 我遇到的第一个问题是理解在列表中的元素中传递的参数 ("fire", 5) ("static", 3) 我理解第一个,但是字符串后面的整数代表什么 我的第二个问题基于最后一行: powerUps RandomPowerup = powerUpsList[Random.Range(0, powerUpsList.Count)] 有人告诉我 电源升级列表 …在上下文中不存在 我理解这条信息的含义,但

我在理解C#中的列表时有点困难,希望有人能帮助我理解

我一直在学习一些教程,但有两点让我有点困惑

我遇到的第一个问题是理解在列表中的元素中传递的参数

("fire", 5)
("static", 3)
我理解第一个,但是字符串后面的整数代表什么

我的第二个问题基于最后一行:

powerUps RandomPowerup = powerUpsList[Random.Range(0, powerUpsList.Count)]
有人告诉我

电源升级列表 …在上下文中不存在

我理解这条信息的含义,但不明白这是怎么回事。我的猜测是,我遗漏了一个语法,但我不太明白在哪里

下面是上下文的完整代码

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)];
    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共阶级权力主义者:单一行为
{
void Start()
{
List powerUpsList=新列表();
添加(新的加电(“火”,5));
添加(新的加电(“静态”,3));
添加(新的加电(“屏蔽”,0));
添加(新的加电(“排斥”,0));
添加(新的电源(“修理包”,0));
添加(新的加电(“thorns”,3));
添加(新的加电(“bearBooster”,1));
powerUpsList.Sort();
}
无效对撞机(对撞机播放器)
{
powerUps Random powerup=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)];
    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共阶级权力主义者:单一行为
{
私人名单;
void Start()
{
powerUpsList=新列表();
添加(新的加电(“火”,5));
添加(新的加电(“静态”,3));
添加(新的加电(“屏蔽”,0));
添加(新的加电(“排斥”,0));
添加(新的电源(“修理包”,0));
添加(新的加电(“thorns”,3));
添加(新的加电(“bearBooster”,1));
powerUpsList.Sort();
}
无效对撞机(对撞机播放器)
{
powerUps Random powerup=powerUpsList[Random.Range(0,powerUpsList.Count)];
}
}

以下是您的部分示例:

powerUpsList = new List<powerUps>();
powerUpsList.Add(new powerUps("fire", 5));
powerUpsList=新列表();
添加(新的加电(“火”,5));
这有三件事。可以这样写:

powerUpsList = new List<powerUps>(); // create an empty list 
powerup foo = new powerUps("fire", 5); // create a powerUp object
powerUpsList.Add(foo); // put the object in the list
powerUpsList=new List();//创建一个空列表
通电foo=新通电(“火”,5);//创建通电对象
powerUpsList.Add(foo);//将对象放入列表中

这个
新加电(“fire”,5)
是一个构造函数调用。这些参数意味着一个问题,这个问题只能由定义powerUp类的代码的文档来回答。在黑暗中进行疯狂刺杀,5是此通电在游戏中赋予火焰魔法的秒数。

1。整数是
类的
构造函数的第二个参数。按CTRL+。
,然后输入
,自己查看powerUpsList应该在Start方法之外。因为您在该方法中定义了powerUpsList,所以它将只存在于该方法中(变量范围)