How to find specific NShape ID in a document with lots of shapes?


https://www.nevron.com/Forum/Topic9214.aspx
Print Topic | Close Window

By Hans Henrik Friis Pedersen - 9 Years Ago
Hi,

I'm using the following code to loop through all shape in a document (using 2 nested foreach loops) and locate a shape with a specific ID. Isn't there a easier and more efficient method? A Find method?


    NNodeList nodes = document.Descendants(NFilters.TypeNShape, -1);
             foreach (var shape in nodes)
            {
                foreach (MeasurementPoint _measurementPoint in this._measurementPointList)
                {
                    NShape shp = (NShape)shape;
                    if (shp.Id == _measurementPoint.ID)
                    {
//more code here...
By Nevron Support - 9 Years Ago
You can try the following method:
document.GetElementFromId(_measurementPoint.ID);
Internally it uses a dictionary, so it should be much faster and efficient.