如何转换字典键'在Unity 4.3中的数组? (除了手动,当然)
This solution似乎无法发挥作用,我对此感到困惑。
代码:
private Dictionary<int,Client> uid2Client;
public static int[] uidList
{
get
{
return instance.uid2Client.Keys.ToArray();
}
}
错误:
Assets / sources / ClientServer.cs(144,57):错误CS1061:类型 `System.Collections.Generic.Dictionary&LT; INT,客户机GT; .KeyCollection&#39;不 不包含`ToArray&#39;的定义没有扩展方法 `ToArray的&#39;类型 `System.Collections.Generic.Dictionary&LT; INT,客户机GT; .KeyCollection&#39; 可以找到(你错过了使用指令或程序集 引用?)
答案 0 :(得分:5)
ToArray()
方法不是KeyCollection类的标准部分。它是由extension method添加的Linq。
将Using System.Linq;
添加到类文件的开头。
答案 1 :(得分:0)
您可以尝试手动将密钥提取到数组中:
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;
}