【发布时间】:2021-07-08 12:52:38
【问题描述】:
我有一个程序可以在控制台窗口上以 XML 格式显示输出,它运行得非常好,没有任何错误,但我正在使用扩展方法来完成这项工作。如何在不使用扩展方法的情况下做到这一点,我有一个提示,我只需将一行从扩展类移动到程序类,但作为一个新程序员,我失败了,需要你的帮助。
这是我的主类
List<int> email = new List<int>() { 60, 50, 70, 30, 80, 65, 90, 75, 55 };
var element = new XElement("Results",
email.Batch(3)
.Select(batch =>
new XElement("Result",
batch.Select(mark => new XElement("Mark", mark)),
new XElement("Total", batch.Sum()))));
Console.WriteLine(element);
Console.ReadLine();
这是我的扩展方法类
public static IEnumerable<IEnumerable<T>> Batch<T>(this IEnumerable<T> items,
int maxItems)
{
return items.Select((item, inx) => new { item, inx })
.GroupBy(x => x.inx / maxItems)
.Select(g => g.Select(x => x.item));
}
【问题讨论】:
-
this是关于扩展方法和非扩展方法之间区别的提示 -
在代码中有很多不同的方法来做事,所以很难回答你的问题。如果您解释一下您对当前实施不满意的原因,也许会有所帮助。
-
有什么问题,具体来说,您是否将代码移出扩展方法?
-
@Crono 我对我的代码很满意,但作为一个学习者,我只想用不同的技术来实现代码,现在我只想在没有扩展方法的情况下做到这一点
标签: c# linq console-application extension-methods