在Unity中将字典键转换为数组
本文关键字:转换 数组 字典 Unity | 更新日期: 2023-09-27 18:08:54
如何将字典键'转换为Unity 4.3中的数组?(当然不是手动的)
这个解决方案似乎不起作用,我不明白为什么。
代码:private Dictionary<int,Client> uid2Client;
public static int[] uidList
{
get
{
return instance.uid2Client.Keys.ToArray();
}
}
错误:Assets/sources/ClientServer.cs(144,57):错误CS1061: Type"System.Collections.Generic.Dictionary< int,客户端>。KeyCollection "不包含' ToArray'的定义和扩展方法类型为的ToArray"System.Collections.Generic.Dictionary< int,客户端> .KeyCollection"可以找到(您是否缺少using指令或程序集?参考?)
ToArray()
方法不是KeyCollection类的标准部分。这是Linq添加的扩展方法。
将Using System.Linq;
添加到类文件的开头
您可以尝试手动将键提取到数组中:
int[] getKeys()
{
List<int> keys = new List<int>();
var keycollection = uid2Client.Keys;
foreach(var key in keycollection)
{
keys.Add(key);
}
int[] keyArray = keys.ToArray();
return keyArray;
}
int[] KeysToArray(){
int[] array = new List<int>(dictionary.keys).ToArray();
return array;
}