C# 如何将List.count分配给变量?

C# 如何将List.count分配给变量?,c#,unity3d,C#,Unity3d,我试图在C#Unity中对两个列表的长度求和,但没有成功。整数变量“oneCount”和“twoCount”每次返回0,即使在增加列表大小之后也是如此。我相信有一个简单的解决办法,但我完全被卡住了 我的代码如下所示: public class list : MonoBehaviour { List<int> oneList = new List<int>(); List<int> twoList = new List<int>()

我试图在C#Unity中对两个列表的长度求和,但没有成功。整数变量“oneCount”和“twoCount”每次返回0,即使在增加列表大小之后也是如此。我相信有一个简单的解决办法,但我完全被卡住了

我的代码如下所示:


public class list : MonoBehaviour
{
    List<int> oneList = new List<int>();
    List<int> twoList = new List<int>();

    int oneCount;
    int twoCount;

    void Start()
    {

        oneCount = oneList.Count;
        twoCount = twoList.Count;

    }

    void Update()
    {

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {

            oneList.Add(1);

        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {

            twoList.Add(1);

        }

        if (Input.GetKeyDown(KeyCode.G))
        {

            Final();

        }

    void Final()
    {

        Debug.Log(oneCount + twoCount);

    }

公共班级名单:MonoBehavior
{
List oneList=新列表();
List twoList=新列表();
int-oneCount;
int-twoCount;
void Start()
{
oneCount=oneList.Count;
twoCount=twoList.Count;
}
无效更新()
{
if(Input.GetKeyDown(KeyCode.Alpha1))
{
增加(1);
}
if(Input.GetKeyDown(KeyCode.Alpha2))
{
增加(1);
}
if(Input.GetKeyDown(KeyCode.G))
{
最后的();
}
最终作废()
{
Log(一个计数+两个计数);
}

修改您的最终方法,如下所示,它将起作用

void Final()
{
   Start(); // since assignment you have done in this method
    Debug.Log(oneCount + twoCount);

}

调用
.Count
时,您将获得该调用时的值

var list = new List<int>();
var c1 = list.Count; // c1 is 0
list.Add(1); 
var c2 = list.Count; // c2 = 1, and c1 is still 0 

你没有在任何地方更新它们,只是在程序开始时检查计数,其中的列表是空的。对于新手问题,我很抱歉,但是我该如何更新它们呢?你应该在
Update
方法中检查计数。非常感谢。为什么不在任何地方使用oneList.count+twolest.count?为什么有一个必须更新的变量,跟踪列表属性(自动更新)?
void Final()
{
   Debug.Log(oneList.Count + twoList.Count);
}