![](/img/trans.png)
[英]What are C# lambda's compiled into? A stackframe, an instance of an anonymous type, or?
[英]What is the syntax to create an anonymous instance of IEnumerable in C#?
我有一个函数接受IEnumerable的参数。 我们称之为:
Iter(IEnumerable<string> list)
我有一个想要传递给函数的字符串。 有没有一种方法,而无需实际创建实现IEnumerable的对象? 看来我应该可以使用lambda代替,例如:
string thing1 = "Frank";
Iter( () => { yield return thing1 };);
重申一下,没有双关语,我想知道是否有一种使用匿名函数/ lambda的方法,所以我不必创建容器的实例。
关于什么:
Iter(new [] {thing1});
由于您的参数是IEnumerable<string>
,因此您可以传递数组或List<string>
。
对于一个字符串,还有另一种方式:
Iter(Enumerable.Repeat<string>("thing1", 1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.