一种方法是创建一个具有两个属性的类,stateCIP 和facultyRank,然后使用它而不是创建您现在正在做的匿名类型。然后你可以将它而不是匿名类型传递给你的方法
所以代替 var groups = inputRows.GroupBy(x => new { x.stateCIP, x.facultyRank })
尝试
var groups = inputRows.GroupBy(x => new MyClass(StateCIP = x.stateCIP, FacultyRank = x.facultyRank });
那么你可以做
public static void write(IEnumerable<MyClass> groups)
或者,如果您想对仅对其进行迭代的组对象执行更多操作,例如在 Write 方法中从组中添加或删除项目,则在调用方法时将 IEnumerable 转换为 List 使用:
var groups = inputRows.GroupBy(x => new MyClass(StateCIP = x.stateCIP, FacultyRank = x.facultyRank }).ToList();
然后将您的方法写为
public static void write(IList<T> groups)