标签: deferred-execution

使用LINQ .Select()转换为新类型是TOO慢吗?

目前的项目,突破了这个问题:

客户端存储库:

public class ClientRepository
{
    // Members
    private masterDataContext _db;

    // Constructor
    public ClientRepository()
    {
        _db = new masterDataContext();
    }

    public IEnumerable<ClientName> GetCorporateClientNames()
    {
        return _db.corporate_client_tbs.Select(o => new ClientName { id = o.id, name = o.company_name }).AsEnumerable();
    }

    public IEnumerable<ClientName> GetRetailClientNames()
    {
        return _db.retail_client_tbs.Select(o => new ClientName { id = o.id, name = o.name }).AsEnumerable();
    }

    // Define return type
    public class ClientName
    {
        public int id { get; set; }
        public string name { get; set; }
    } …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc linq-to-sql deferred-execution

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

延迟功能直到$可用

出于性能原因,雅虎建议在HTML页面底部加载脚本.我使用符合规则的HTML5 Boilerplate.

这种方法的问题是jQuery也在底部加载.如果由于某种原因我需要编写包含jQuery代码的内联javascript,我不能,因为$在命名空间中还没有.

例如,使用galleria.js(jQuery图库引擎),这需要此标记:

<div id="gallery">
    <img src="/media/img1.png" />
    <img src="/media/img2.png" />
</div>

<script>
$('#gallery').css('height', '200px'); // this is required for galleria to work
Galleria.run('#gallery');
</script>
Run Code Online (Sandbox Code Playgroud)

设置高度的代码#gallery不起作用,因为稍后加载jQuery.Firebug控制台给出:

ReferenceError: $ is not defined
Run Code Online (Sandbox Code Playgroud)

是否可以在命名空间中找到符号,<script>直到$符号被执行为止?

javascript jquery namespaces deferred-execution

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

关于IEnumerable的延迟执行

在下面的代码中,我理解第二个初始化打印一个"外部"和三个"内部".但是为什么第一个根本不打印,我希望它打印一个"外面".

        DeferExecution a = new DeferExecution(); // prints nothing 
        DeferExecution b = new DeferExecution(null); // print one "outside" and three "inside".

 class DeferExecution
{
    public IEnumerable<string> Input;

    public DeferExecution()
    {
        Input = GetIEnumerable();
    }

    public DeferExecution(string intput)
    {
        Input = GetIEnumerable().ToArray();
    }

    public IEnumerable<string> GetIEnumerable()
    {
        Console.WriteLine("outside");  
        var strings = new string[] {"a", "b", "c"};
        foreach (var s in strings)
        {
            Console.WriteLine("inside");  
            yield return s;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq ienumerable deferred-execution

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

什么在jQuery中首先出现.always()或.then()回调?

如果你有一个既有.then.always回调的函数,哪一个会先被执行?

javascript jquery deferred-execution deferred

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

去,是否有可能推迟sub func

可以放入defer子功能吗?

即,对于线12的FUNC〜16 test1()https://play.golang.org/p/evabhcjvNs(下面封闭)

是否有可能将它们置于子功能中?就像我尝试过的那样test2()(但这种行为不同于test1()).

我要问的原因是,对于func的第12~16行test1(),我的实际代码是从持久数据中恢复变量,然后defertest1()完成时使用它来保存它.但是,有些情况下整个恢复/保存不是必需的,所以我正在考虑一种更好的方法来控制它.

谢谢

package main

import "log"

func main() {
    test1()
    log.Printf("==== \n")
    test2()
}

func test1() {
    r, err := Open("a")
    if err != nil {
        log.Fatalf("error opening 'a'\n")
    }
    defer r.Close()

    r.Use()
}

func test2() {
    r := subc()
    r.Use()
}

func subc() *Resource {
    r, err := Open("a")
    if err != nil {
        log.Fatalf("error opening 'a'\n")
    }
    defer r.Close() …
Run Code Online (Sandbox Code Playgroud)

go deferred-execution

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

(function(){在Javascript中的含义

我想了解这段代码之间的区别:

(function() {
Run Code Online (Sandbox Code Playgroud)

而这段代码:

$(function() {
Run Code Online (Sandbox Code Playgroud)

第一个示例是否在文档就绪后运行代码,第二个示例是什么?或者仅仅是功能的范围,仅此而已?

javascript jquery document-ready deferred-execution

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

为什么LINQ不确定?

我随机排序了一个IEnumerable.我继续打印出相同的元素,并获得不同的结果.

string[] collection = {"Zero", "One", "Two", "Three", "Four"};
var random = new Random();
var enumerableCollection = collection.OrderBy(e => random.NextDouble());

Console.WriteLine(enumerableCollection.ElementAt(0));
Console.WriteLine(enumerableCollection.ElementAt(0));
Console.WriteLine(enumerableCollection.ElementAt(0));
Console.WriteLine(enumerableCollection.ElementAt(0));
Console.WriteLine(enumerableCollection.ElementAt(0));
Run Code Online (Sandbox Code Playgroud)

每次写入都会给出不同的随机元素.为什么订单没有保留?

在.NET Fiddle上看到它

c# linq ienumerable non-deterministic deferred-execution

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

如何转换此迭代器阻止功能更改?

给出以下代码段:

public class Foo
{
    public IEnumerable<string> Sequence { get; set; }
    public IEnumerable<string> Bar()
    {
        foreach (string s in Sequence)
            yield return s;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下代码片段在语义上是等价的,还是不同?如果不同,它们的功能如何不同?

public class Foo2
{
    public IEnumerable<string> Sequence { get; set; }
    public IEnumerable<string> Bar2()
    {
        return Sequence;
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题的灵感来自于这个问题,它提出了一个类似情况的不同问题.

c# iterator yield-return deferred-execution

-22
推荐指数
1
解决办法
907
查看次数