小编lui*_*uis的帖子

等待与异步方法中的Task.Result

执行以下操作之间有什么区别:

async Task<T> method(){
    var r = await dynamodb.GetItemAsync(...)
    return r.Item;
}
Run Code Online (Sandbox Code Playgroud)

VS

async Task<T> method(){
    var task = dynamodb.GetItemAsync(...)
    return task.Result.Item;
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,由于某种原因,只有第二个工作.第一个似乎永远不会结束.

c# asynchronous task async-await amazon-dynamodb

32
推荐指数
2
解决办法
6万
查看次数

有没有办法在正则表达式中执行动态替换?

有没有办法在C#4.0中使用匹配中包含的文本函数进行正则表达式替换?

在PHP中有这样的东西:

reg_replace('hello world yay','(?=')\s(?=')', randomfunction('$0'));
Run Code Online (Sandbox Code Playgroud)

它为每个匹配提供独立的结果,并在找到每个匹配的地方替换它.

c# regex c#-4.0

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

使用NSNotificationCenter时,ARC无法正常工作

为什么不在使用NSNotificationCenter的对象上调用deist,我在下面包含了我的代码的简单版本.在我创建一个观察通知的对象以及触发通知时,它会删除观察者的订阅.如果释放了对象,我也会删除订阅.但是,在为应用程序运行性能分析时,您可以看到在viewDidAppear完成后,测试对象的持久分配现在为零,应该已经释放.为什么会这样?

import UIKit

class ViewController: UIViewController {

    var t: test?

    override func viewWillAppear(animated: Bool) {
        t = test()
        fire()
        t = nil
    }

    func fire() {
        NSNotificationCenter.defaultCenter().postNotificationName("Hello",
            object: nil)
    }

}

class test {

    var e: NSObjectProtocol?

    init() {
        e = NSNotificationCenter.defaultCenter().addObserverForName(
            "Hello", object: nil, queue: NSOperationQueue.mainQueue(),
            usingBlock: sayHello)
    }
    deinit {
        if let e = e { NSNotificationCenter.defaultCenter().removeObserver(e) }
    }

    func sayHello(notification: NSNotification) {
        if let e = e { NSNotificationCenter.defaultCenter().removeObserver(e) }
    }

}
Run Code Online (Sandbox Code Playgroud)

即使在Objective-C中,我也会很感激,因为它也可能会回答这个问题.

非常感谢你

nsnotificationcenter ios swift

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

选择每列值的30%

假设我们有一个带有'A'列的表,其值从0到N.我想为每列具有相同值的30%选择"A"列.

So if I have this:
A|  B
-------
0 hello
0 test
0 hi
1 blah1
1 blah2
1 blah3
1 blah4
1 blah5
1 blah6

Result:
A|  B
-------
0 hello
1 blah1
1 blah4
Run Code Online (Sandbox Code Playgroud)

它可能是blah1或任何其他不是blah4的blah4,而blah4可能是任何其他不是blah1的blah,基本上它可能是随机的或跳过的.

顺便说一句,实际的表是巨大的,谈论太字节,所以考虑性能.

sql sql-server random

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