ArcGIS Pro 3.4 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 Dictionary<MapMember,List<long>> ToDictionary()
    Public Overloads Function ToDictionary() As Dictionary(Of MapMember,List(Of Long))

    Return Value

    Dictionary of mapMembers and their corresponding objectIDs.
    Example
    Load map selection into Inspector
    // get the currently selected features in the map
    var selectedFeatures = ArcGIS.Desktop.Mapping.MapView.Active.Map.GetSelection();
    // 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 ArcGIS.Desktop.Editing.Attributes.Inspector();
    // load the selected features into the inspector using a list of object IDs
    await inspector.LoadAsync(firstSelectionSet.Key, firstSelectionSet.Value);
    Load map selection into Inspector
    // get the currently selected features in the map
    var selectedFeatures = ArcGIS.Desktop.Mapping.MapView.Active.Map.GetSelection();
    // 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 ArcGIS.Desktop.Editing.Attributes.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
    QueuedTask.Run(() =>
    {
    
      // get the currently selected features in the map
      var selectedFeatures = ArcGIS.Desktop.Mapping.MapView.Active.Map.GetSelection();
    
      // 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 ArcGIS.Desktop.Editing.Attributes.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 selected feature's attribute value
    QueuedTask.Run(() =>
    {
    
      // get the currently selected features in the map
      var selectedFeatures = ArcGIS.Desktop.Mapping.MapView.Active.Map.GetSelection();
    
      // 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 ArcGIS.Desktop.Editing.Attributes.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, Windows 10

    ArcGIS Pro version: 3.4 or higher.
    See Also