C# 从方法返回分组数据

C# 从方法返回分组数据,c#,.net,windows,linq,collections,C#,.net,Windows,Linq,Collections,我有一种方法需要返回一个组,即: public static MyData BinSearch(MyData searchDate) { // First doing a binary search to get the index if (index >= 0) { return recordList[index]; } index = ~index; if (index == 0 || i

我有一种方法需要返回一个组,即:

public static MyData BinSearch(MyData searchDate)
{
 // First doing a binary search to get the index

 if (index >= 0)
        {
            return recordList[index];
        }

        index = ~index;

        if (index == 0 || index == recordList.Count)
        {
            return null;
        }

        int newIndex = (((index-1)+index)/2)+1;
        string pointer = recordList[newIndex].TaxDet;

        var groupData = recordList.GroupBy(p => p.TaxDet)
                      .ToDictionary(g => g.Key);

        var output = groupData[pointer];


        return (output); // Here I want to return a group of data
 }
但我有一个错误:

无法隐式转换类型 “System.Linq.IGrouping”到 “ConsoleApplication1.MyData”。存在一个显式转换(您是吗 缺少演员阵容?)

编辑:


由于要将
GroupBy
ToDictionary
组合在一起,因此通过执行
groupData[pointer]
可以从字典中获取值,这就是iGroup。如果需要从分组中提取数据,则还需要1个索引getter
groupData[pointer][taxDet]


可能
.ToDictionary(g=>g.Key)在这种情况下是多余的

MyData是什么类型的?我在变量“输出”中得到了正确的结果,但现在唯一需要做的是,我需要将这个结果(这是一个组)返回到我调用的main。我很难把它退回来你说的团体是什么意思?如果要返回整个组,则方法返回类型不正确。它应该类似于publicstaticigroupingbinsearch(mydatasearchdate),谢谢,它应该是怎样的:我有调用函数:mydatapointnetcom=BinSearch(value);我想您不需要从BinSearch返回iGroup。请解释您试图在BinSearch方法中执行的操作。乍一看,您不需要调用ToDictionary方法,因为GroupBy已经按照指定的键对项进行分组。在这个方法中,当我得到那个键/记录时,我正在进行搜索。然后我想转到该键,并获取该键及其记录,这将是一个组,并将这些记录发送回调用方(main)。
public class MyData
    {
        public string TaxDet{ get; set; }
        public string empDetails { get; set; }
    }