0

这不起作用,抛出错误 #1056:

m_cdictDeadConnections = new Dictionary();
m_cdictDeadConnections[1] = "f";

嗯?这里的语法有什么问题?谢谢!

编辑:有几个答案是指缺乏语法;我正在从类定义中获取变量。很抱歉造成混乱。

编辑:为了更清楚起见,在这行代码中抛出了错误 #1056:

m_cdictDeadConnections[1] = "f";

除了一些非常晦涩的语言规则或其他东西之外,这似乎不应该发生。

4

4 回答 4

1

我看不出逻辑有什么问题。只要确保语法正确。

var dictionary:Dictionary = new Dictionary();
于 2012-10-22T16:27:51.963 回答
1

正如此处的文档所述http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Dictionary.html

Dictionary 类允许您创建属性的动态集合

如此动态地,字典在对象上创建属性,并使用您在括号中指定的内容作为标识符。

如果要创建以 int 为索引的对象,最好使用 Array。

var myArray:Array = new Array();
myArray[0] = ""
myArray[1] = "f";

如果你想要一个哈希使用一个对象。该对象将由字符串索引:

var myObject:Object = new Object();
myObject["1"] = "f";

您可以在此处找到有关如何创建这些数据结构的更多信息http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7eea.html

编辑:它在我的笔记本电脑上运行良好,因此它应该能够实例化一个名为 1 的属性。

于 2012-10-22T16:28:08.720 回答
1

您只是错过了var关键字:

var m_cdictDeadConnections:Dictionary = new Dictionary();
m_cdictDeadConnections[1] = "f";

(我还给了 var 一个类型,:Dictionary这是一个非常好的习惯!)

于 2012-10-23T00:21:45.990 回答
0

我认为你的代码没有问题。

正如您所说:“我正在从类定义中获取变量”

我建议您在插入值后跟踪对象。

m_cdictDeadConnections = new Dictionary();
m_cdictDeadConnections[1] = "f";
trace....

因为 m_cdictDeadConnections 是一个变量,所以它可能被其他代码改变或清除。希望这可以帮到你。

于 2012-10-24T02:13:33.623 回答