PDA

View Full Version : Using C#.Net 2.0 Generic Lists in NinjaScript


whitmark
10-08-2007, 06:54 AM
I am trying to use a C# Generic List to maintain a list of orderId pairs that I need to revisit at a later time. Using Generic Lists is a great way to maintain a dynamic collection of items of various data types (e.g., string, integer, double) and comes with numerious built-in methods to manipulate the List content over and above ArrayList functionality, so I would like to get this to work.

The code complies fine, and I have verified that I can add multiple elements and recall their values at runtime, no problem. However, once I have processed an OrderId pair I want to remove it from the list using RemoveAt( idx) so I don't have to read it again, but when I do I get the following error:

"Error on calling 'OnBarUpdate' method for strategy 'mystrategy'. Collection was modified; enumeration operation may not execute."

and the strategy code stops working. I would appreciate it to learn if Support or other advanced users have used Generics and might know whether there are special considerations for removing elements from a generic list within Ninja? Thanks.

Regards,

Whitmark

NinjaTrader_Dierk
10-08-2007, 07:08 AM
- the issue is not related to generics
- as the error message suggest the collection is modified as you iterate through it. If the collection is completely managed by your code, the your code modifies this collection within the "foreach" loop