小编Joe*_*oel的帖子

执行LambdaExpression并获取返回值作为对象

有干净的方法吗?

Expression<Func<int, string>> exTyped = i => "My int = " + i;
LambdaExpression lambda = exTyped;

//later on:

object input = 4;
object result = ExecuteLambdaSomeHow(lambda, input);
//result should be "My int = 4"
Run Code Online (Sandbox Code Playgroud)

这适用于不同类型.

c# lambda expression

29
推荐指数
1
解决办法
1万
查看次数

IEnumerable到Stream

我想做一些大致相当于下面代码示例的事情.我想生成并提供数据流,而不必在任何时候将整个数据集都放在内存中.

看起来我需要一些在其构造函数中接受IEnumerable<string>(或IEnumerable<byte>)的Stream实现.在内部,此Stream只会在读取Stream或根据需要时移动IEnumerable.但我不知道这样的任何Stream实现.

我是在正确的轨道上吗?你知道怎么办这样的事吗?

    public FileStreamResult GetResult()
    {
        IEnumerable<string> data = GetDataForStream();

        Stream dataStream = ToStringStream(Encoding.UTF8, data);

        return File(dataStream, "text/plain", "Result");
    }

    private IEnumerable<string> GetDataForStream()
    {
        StringBuilder sb;
        for (int i = 0; i < 10000; i++)
        {
            yield return i.ToString();
            yield return "\r\n";
        }
    }

    private Stream ToStringStream(Encoding encoding, IEnumerable<string> data)
    {
        // I have to write my own implementation of stream?
        throw new NotImplementedException();
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc stream

13
推荐指数
2
解决办法
5156
查看次数

标签 统计

c# ×2

asp.net-mvc ×1

expression ×1

lambda ×1

stream ×1