小编lun*_*dir的帖子

使用LINQ/extensions方法重复字符串

只是我正在调查的好奇心.

问题:简单地重复(倍增,有人会说)字符串/字符n次.
我知道有这个目的的Enumerable.Repeat,但我试图在没有它的情况下做到这一点. LINQ在这种情况下,似乎没什么用处,因为在查询

from X in "s" select X  
Run Code Online (Sandbox Code Playgroud)

字符串 "S"正在探索等X是一个字符.同样是扩展方法,因为例如"S".Aggregate(blablabla)将再次处理角色'',而不是字符串本身.为了重复字符串,需要一些"外部",所以我认为lambdasdelegates,但是如果没有声明一个变量来赋予委托/ 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

4
推荐指数
2
解决办法
2195
查看次数

标签 统计

c#-4.0 ×1