ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MapMemberIDSet Class / ToDictionary Method / ToDictionary() Method
Example

In This Topic
    ToDictionary() Method
    In This Topic
    Creates the dictionary of mapMembers and their corresponding objectIDs.
    Syntax
    Public Overloads Function ToDictionary() As Dictionary(Of MapMember,List(Of Long))
    public Dictionary<MapMember,List<long>> ToDictionary()

    Return Value

    Dictionary of mapMembers and their corresponding objectIDs.
    Example
    Load map selection into Inspector
    {
      // Loads the selected features into an Inspector instance.
      // get the first layer and its corresponding selected feature OIDs
      var firstSelectionSet = selectedFeatures.ToDictionary().First();
      // create an instance of the inspector class
      var inspector = new Inspector();
      // load the selected features into the inspector using a list of object IDs
      await inspector.LoadAsync(firstSelectionSet.Key, firstSelectionSet.Value);
    }
    Get selected feature's attribute value
    // Retrieves the value of a specific attribute and the geometry of the first selected feature from the provided selection set.
    await QueuedTask.Run(() =>
    {
      // get the first layer and its corresponding selected feature OIDs
      var firstSelectionSet = selectedFeatures.ToDictionary().First();
    
      // create an instance of the inspector class
      var inspector = new Inspector();
    
      // load the selected features into the inspector using a list of object IDs
      inspector.Load(firstSelectionSet.Key, firstSelectionSet.Value);
    
      //get the value of
      var pscode = inspector["STATE_NAME"];
      var myGeometry = inspector.Shape;
    });
    Get records that are set as Root Nodes
    {
      await QueuedTask.Run(() =>
      {
        MapMemberIDSet rootNodes = MapView.Active.GetRootNodes();
        var rootNodeDict = rootNodes.ToDictionary();
    
        // rootNodeDict is a Dictionary<MapMember, List<long>>
    
        // access a particular mapMember in the Dictionary
        if (rootNodeDict.ContainsKey(mapMember))
        {
          var oids = rootNodeDict[mapMember];
        }
    
        // OR iterate through the dictionary
        foreach (var (mm, oids) in rootNodeDict)
        {
          // do something
        }
      });
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.4 or higher.
    See Also