You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中map+reduce生成换行符串的代码如何转为C#?

把Swift换行符拼接代码转成C#的解决方案

嘿,刚好能帮你理清这个转换!先明确下你那段Swift代码的作用:生成linesCount个换行符\n拼接成的字符串,比如linesCount=3时结果就是"\n\n\n"。

你已经找对了方向——用Enumerable.Range+Select+Aggregate的组合,只是参数需要调整下,下面是完全匹配原Swift逻辑的C#代码:

// 先定义你的linesCount整数
int linesCount = 3;
var lines = Enumerable.Range(0, linesCount)
                      .Select(_ => "\n")
                      .Aggregate("", (current, next) => current + next);

拆解对应原Swift代码的每一步:

  • Enumerable.Range(0, linesCount):对应Swift里的0..<linesCount,生成包含linesCount个元素的序列(从0到linesCount-1),保证元素数量和原代码一致
  • .Select(_ => "\n"):对应Swift的map({ _ in "\n" }),_表示忽略当前遍历的元素,直接返回换行符字符串,和原逻辑完全对齐
  • .Aggregate("", (current, next) => current + next):对应Swift的reduce("", +),初始值是空字符串"",然后把每个换行符依次拼接到当前结果上,(current, next) => current + next就等价于Swift里用+做拼接的逻辑

额外优化小提示:

如果追求代码简洁和性能(因为Aggregate拼接字符串会多次创建新字符串),可以用string.Concat直接生成结果,写法更短:

var lines = string.Concat(Enumerable.Repeat("\n", linesCount));

内容的提问来源于stack exchange,提问作者Leze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:57:22