运行后,该程序会显示以下文本:
理想情况下,我们应该让查询返回标记的合并序列,并且不对使用者公开中间 string[]。为此,我们将使用 SelectMany 操作符,而不是 Select 操作符。SelectMany 操作符的工作方式类似于 Select 操作符。但不同之处在于,转换函数返回的序列随后由 SelectMany 操作符扩展。下面是使用 SelectMany 重新编写的程序:Albert.was.here.Burke.slept.late.Connor.is.happy.
使用 SelectMany 会导致每个中间序列扩展为正常计算的一部分。string[] text = { "Albert was here", "Burke slept late", "Connor is happy" }; var tokens = text.SelectMany(s => s.Split(' ')); foreach (string token in tokens) Console.Write("{0}.", token);