只是我正在调查的好奇心。用LINQ/extensions方法重复字符串
问题:简单地重复(相乘,有人会说)字符串/字符n次。
我知道这个目标有Enumerable.Repeat,但我试图没有它。 LINQ在这种情况下,似乎没什么用处,因为在查询像
from X in "s" select X
的串“S”正在探索等X是焦炭。因为例如“s”,所以扩展方法也是如此。 集合(blablabla)将再次处理字符's',而不是字符串本身。为了重复字符串,需要“外部”的东西,所以我认为lambdas和代表,但它不能没有声明一个变量来分配委托/ lambda表达式。
因此,像定义一个函数,把它内联:
((a)=>{return " "+a;})("a");
或
delegate(string a){return " "+a}(" ");
会给一个“没有名字”的错误(等没有递归,据我所知,即使通过传递可能的lambda /委托作为参数),并且最终甚至不能由C#创建,因为它的局限性。
这可能是我从错误的角度看待这件事。有任何想法吗?
这只是一个实验,我不关心表演,关于记忆的使用...只是它是一条线和某种自主的。也许我们可以用Copy/CopyTo来做些什么,或者把它转换成其他的集合,我不知道。 反射也被接受。
差不多;我想避免enumerable.repeat – lunadir
您是否阅读过该文章的答案?它使用字符串构造函数,而不是'Enumerable.Repeat'。 –
它重复一个字符,好的,但一个字符串 – lunadir