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