【发布时间】:2022-12-03 17:20:28
【问题描述】:
我是编程新手,正在上面向对象编程课程。但是,教授没有解释如何将一个 Ienumerable 变成一个字符串来完成这道作业题:
去做: 编写一个名为 NumSquare 的公共静态 C# 方法,该方法采用一维数组作为输入 并创建一个 LINQ 语句来查询平方数大于 20 的数字并将它们升序排列。 LINQ 查询检索匿名对象,其中每个对象都包含数字 (Num) 及其平方数 (SqrNum)。 该方法将 LINQ 查询作为 IEnumerable 对象返回。 匿名对象包含两个名为 Num 和 SqrNum 的实例变量。 输入:一维整数数组。 输出:类型为 IEnumerable 的 LINQ 查询。 示例:给定数组 A = [3, 4, 10, 5],调用 NumSquare(A) 返回一个 LINQ 查询,该查询一旦执行将包含: {Num=5, SqrNum=25}, {Num=10, SqrNum=25}
到目前为止,这是我所拥有的,但在过去的 2 1/2 周内,我已经尝试了几件事。
public static IEnumerable<object> NumSquare(int[] A) { //write your code here var num = from Number in A select Number; var sqrnum = from Number in A let squarenum = Number * Number select squarenum; return (IEnumerable<object>)sqrnum; }我知道这个回报不会让我得到我需要的全部结果,但这是我能得到的,没有错误。我也不知道如何测试任何东西,因为他没有向我们展示如何调用 IEnumerable。帮助?
【问题讨论】:
-
你不能拿一个可贵的。 enuerable 只是项目的集合,在您的情况下是数字的集合。你可以拿几个这样的东西,但我不清楚你想“做成一个字符串”是什么。您的代码目前做什么以及应该它呢?
-
认为这是一个错字,但为什么
{Num=10, SqrNum=25}会出现在结果集中 -
为什么您认为此处涉及字符串或需要在某处返回字符串?
-
sqrnum已经是可枚举的。您只需要研究如何投射到匿名对象中即可。
标签: c# arrays string linq ienumerable