只是我正在调查的好奇心.
问题:简单地重复(倍增,有人会说)字符串/字符n次.
我知道有这个目的的Enumerable.Repeat,但我试图在没有它的情况下做到这一点.
LINQ在这种情况下,似乎没什么用处,因为在查询像
from X in "s" select X
Run Code Online (Sandbox Code Playgroud)
的字符串 "S"正在探索等X是一个字符.同样是扩展方法,因为例如"S".Aggregate(blablabla)将再次处理角色'',而不是字符串本身.为了重复字符串,需要一些"外部",所以我认为lambdas和delegates,但是如果没有声明一个变量来赋予委托/ lambda表达式,就无法完成.
所以像定义一个函数并将其调用内联:
( (a)=>{return " "+a;} )("a");
Run Code Online (Sandbox Code Playgroud)
要么
delegate(string a){return " "+a}(" ");
Run Code Online (Sandbox Code Playgroud)
会给出一个"没有名字"错误(因此没有递归,AFAIK,甚至通过传递一个可能的lambda/delegate作为参数),并且最终甚至不能由C#创建,因为它有其局限性.
可能是我从错误的角度看这件事.有任何想法吗?
这只是一个实验,我不关心表演,关于记忆的使用......只是它是一线而且是一种自主的.也许我可以用Copy/CopyTo做一些事情,或者将它投射到其他一些系列,我不知道.反思也被接受了.
c#-4.0 ×1