当前位置: 首页 > 知识库问答 >
问题:

为什么Lambda表达式返回System.Linq.Enumerable+WhereSelecteNumerableIterator`2作为结果

卢鸿博
2023-03-14

在使用lambda表达式返回字符串列表时,我得到了以下字符串:

    IList<string> offerIds = new List<string>();
    foreach (var offer in offerProperties)
    {
       offerIds.Add(offer
         .Where(x => x.PropertyDefinitionId == propertyDefinitionId)
         .Select(x => x.OfferId)
         .ToString());
    }
    null

和更多的建议。但没有答案对我有帮助。

有人知道这段代码出了什么问题吗?

共有1个答案

仲阳朔
2023-03-14

而不是将序列转换为字符串:

 // How can .Net convert sequence into string? The only way is to return type name
 // which is unreadable System.Linq.Enumerable+WhereSelectEn... 
 offer
   .Where(x => x.PropertyDefinitionId == propertyDefinitionId)
   .Select(x => x.OfferId)
   .ToString()

项连接到字符串

  // Join items into string with "; " delimiter, e.g. "1; 2; 3; 4"
  offerIds.Add(string.Join("; ", offer
    .Where(x => x.PropertyDefinitionId == propertyDefinitionId)
    .Select(x => x.OfferId)));
 类似资料:
  • 我正在编写一个lambda表达式来将给定的纬度和经度转换为地址。表达式应该以坐标为参数,并返回其相应的地址。但是,返回的值为null。以下是我的班级: 以下是logcat的输出: 以下是我的用法: 是类的对象,以下是相关接口: 当我尝试从相关适配器打印坐标时,它们会正确打印。因此,位置正在正确设置,但是当我试图从另一个类访问它时,它会显示字符串的空值。你能建议一个替代方法来从表达式中提取位置吗?

  • 问题内容: 据我了解,sys.getrefcount()返回对象的引用数,在以下情况下“应”为1: 但是,结果是2!所以,如果我: “ numpy.array([1.2,3.4])”对象是否仍然存在(没有垃圾回收)? 问题答案: 当您调用时,引用将按值复制到函数的参数中,从而临时增加了对象的引用计数。这是第二个引用来源。 在文档中对此进行了解释: 返回的计数通常比您预期的高一,因为它包含(临时)引

  • 在OCP学习指南一书中有一个关于比较器的示例,可以通过两种方式初始化。第一个是通过像这样的匿名类: 这我能理解。根据书中的说法,this可以用lambda表达式代替,如下所示: 现在我不明白了。lambda表达式不返回Comparator对象,但现在我想到它时它不能返回,因为Comparator是一个接口。 那么,第一个示例中的新操作符是否引用正在生成的匿名类,该类称为Comparator,因为该

  • 问题内容: 在《 OCP学习指南 》一书中,有一个关于比较器的示例,可以通过两种方式对其进行初始化。首先是通过这样的匿名类: 这我能理解。根据这本书,可以将其替换为以下lambda表达式: 现在,我不明白。lambda表达式不会返回Comparator对象,因为Comparator是一个接口,所以我现在想到了它。 那么,第一个示例中的运算符是否引用正在创建的称为Comparator的匿名类,因为该

  • 我知道使用lambda expression(LE)我们可以节省一些代码行,比如为函数接口创建对象。而且LE将更易读。但我确信这并不是提供该功能的主要原因。我在google上搜索,并在本文中找到了这段有趣的引用 在Java8之前,处理任何集合的元素都可以通过从集合中获取迭代器,然后迭代元素,然后处理每个元素来完成。如果需要并行处理这些元素,那么将由客户端代码完成。随着Java 8中Stream A

  • 问题内容: 在Python 2.6中查看Queue.py时,我发现这个结构有点奇怪: 如果maxsize为0,则队列永远不会满。 我的问题是在这种情况下如何运作?如何0 < 0 == 0被认为是错误的? 问题答案: 我相信Python对关系运算符的序列有特殊的处理方式,以使范围比较易于表达。能说比说好得多。 这些称为链接比较。这是他们文档的链接。 在您谈论的其他情况下,括号会强制在一个关系运算符之