我遇到了一个问题,即在服务的线程上运行时,没有正确访问对象集合。我可以在VS2008中运行我的单元测试,但是当我将调试器附加到服务时,我可以清楚地看到它不是从基于1的索引开始,而是从基于0的索引开始。我已经尝试了所有我能想到的方法来区分这一点,唯一的区别是它在服务中,而不是作为命令行应用程序运行。为什么我的集合决定从0开始而不是1开始?
当我调试该功能时,我也得到一个“属性评估失败”的消息,当我在单元测试中运行它时,我没有这个消息。
请指教。
[编辑]
我知道,通常的阵列从0我一直认为这一点,但今天我发现了此问题,并已经确定,即使我认为它从0开始启动,调试器显示,它从1开始。当我通过集合进行嬉戏时,它在VS中获得正确的价值,但在服务中却没有。
[编辑]
我使用Microsoft.VisualBasic.Collection,因为我可以把一个关键反对。一个字典对象也可以被使用,但现在已经以这种方式设置,这就是我的BLL Base类和其他众多函数如何读取它,所以改变它并不是最好的。
[溶液]
我使用dicitonary和Generic.KeyValuePair(串,对象),使得我不会有重写访问密钥的代码重构我的代码。现在应该工作得很好,因为它不像集体对象那样处理集合。
您使用的是哪种类型的集合? – 2009-04-15 17:35:23
Microsoft.VisualBasic.Collection – Middletone 2009-04-15 17:39:01