小编BTE*_*BTE的帖子

Take()强制LINQ枚举结果IEnumerable吗?

我有以下两个问题

List<User> allUsers= dbContext.Users.ToList();
List<User> topTenUsers = dbContext.Users.Take(10).ToList();
Run Code Online (Sandbox Code Playgroud)

它们是实例类的属性,它们都加载数据,如下面的代码:

using (var dbContext = new fooDataObjects.DataContext()) { 
    //...they are loaded here
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试从allUsersi 访问结果集合时,会得到一个异常,上面写着"无法访问已处置的对象".但是我可以从中访问结果集合topTenUsers.

Take()强制LINQ枚举我可以从第二个集合中获得结果的结果元素吗?

c# linq-to-sql

2
推荐指数
1
解决办法
657
查看次数

实例为null后,如何访问Instance方法委托

实例设置为null后,实例委托方法如何仍可访问?下面的代码中的操作委托指向实例方法,但在将实例设置为null后,该方法仍然可用.

public class Work { public string Name{get;set;} } 

public class Worker
{
    public void Do(Work work)
    {
        Console.WriteLine("'{0}' is done.", work.Name);
    }
}

public class BatchWorker
{
    private List<Work> _works;
    public readonly Action<Work> Worker;
    public BatchWorker(Action<Work> worker)
    {
        _works = new List<Work>();
        Worker = worker;
    }
    public void AddWork(Work work)
    {
        this._works.Add(work);
    }
    public void DoWorks()
    {
        this._works.ForEach(this.Worker);
    }
}

public class Program{
    public static void Main(){
        var worker = new Worker();
        var batchWorker = new BatchWorker(worker.Do);
        batchWorker.AddWork(new Work …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

标签 统计

c# ×2

.net ×1

linq-to-sql ×1