小编svi*_*ick的帖子

java 8并行流,blockingcode可能吗?

我的情况很简单.

我有一个列表,我想异步地对每个项目执行逻辑.

当所有线程都完成后,我想调用一个紧密的连接.

像这样:

bucketsList.parallelStream().forEach(t -> {
//some logic
});
 try {
 RestApi.getInstance().closeClientConnection();
 } catch (IOException e) {
     e.printStackTrace();
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法让closeConnection部分等待并行Stream完成遍历所有对象?

编辑:我不能使用,CountDownLatch因为我不知道我将在bucketsList中有多少项目

java asynchronous java-stream

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

如何使用 Visual Studio 的 Fakes 框架对异步方法进行存根?

我需要存根的方法的调用方式如下:

List<DocumentInfo> documentInfosToDelete = await _documentInfoRepository.GetListByExternalIdAsync(
    partyLegalEntity, 
    externalId,
    type,
    status);
Run Code Online (Sandbox Code Playgroud)

这有效,但会生成编译器警告:“此异步方法缺少‘等待’运算符”等。

   testService.DocumentInfoRepos.GetListByExternalIdAsyncStringStringDocumentTypeDocumentStatus =
                (async (a, b, c, d) => 
            {
                GetListByExternalIdAsyncCalled = true;
                return new List<DocumentInfo>();
            });
Run Code Online (Sandbox Code Playgroud)

我想摆脱这些警告,因为它们会淹没任何有关实际问题的警告。

返回 new Task(...) 挂起。如果我正确理解了我在 WWW 上找到的内容,Task.Run(...) 所做的事情与我们正在使用的等待异步模式完全不同。

该怎么办?

c# mstest stub async-await microsoft-fakes

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

FileSystemWatcher + Dialog

我想在每次更改某个文件时显示一个对话框......但每次出现该对话框时,我的应用程序都会冻结.我怎么能用另一个线程做到这一点?有任何想法吗?

protected virtual void CreateWatcher (object path)
{
    if (watcher != null)
    {
        watcher.EnableRaisingEvents = false;
        watcher.Dispose ();
    }

    //Create a new FileSystemWatcher. 
    watcher = new FileSystemWatcher ();

    //Set the filter to only catch TXT files. 
    watcher.Filter = "*.txt";
    watcher.IncludeSubdirectories = true;
    watcher.NotifyFilter = NotifyFilters.LastWrite;

    //Subscribe to the Created event.
    watcher.Changed += new FileSystemEventHandler (OnChanged);
    watcher.Created += new FileSystemEventHandler (OnChanged);
    //watcher.Deleted += new FileSystemEventHandler (OnChanged);
    //watcher.Renamed += new RenamedEventHandler (OnRenamed);

    //Set the path to C:\\Temp\\ 
    watcher.Path = @path.ToString();

    //Enable the …
Run Code Online (Sandbox Code Playgroud)

c# multithreading

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

使用LinkedList <BigInteger>

我已经挣扎了一段时间,但是我无法修复错误.
我在没有任何成功的情况下搜索了互联网,并开始徘徊,如果有可能我想完成的事情.

我希望创建一个包含大量节点的数组,这么大,我需要BigInteger.
我创立LinkedList了最适合我的解决方案,所以我开始使用这段代码.

BigInteger[] numberlist = { 0, 1 };
LinkedList<BigInteger> number = new LinkedList<BigInteger>(numberlist);
for(c = 2; c <= b; c++) 
{
    numberlist [b] = 1;                  /* flag numbers to 1 */
}
Run Code Online (Sandbox Code Playgroud)

这意味着将链表中的所有节点都设置为活动状态(1).
变量c和b也是大整数.
我从VS10得到的错误是:

无法将类型'System.Numerics.BigInteger'隐式转换为'int'.存在显式转换(您是否错过了演员?)

问题:

  1. 有可能完成吗?
  2. 如何使用BigInteger(非int)标记所有节点的数量?
  3. 还有其他更好的方法来完成这件事吗?

更新
在示例中,我使用c ++作为计数器.这是可变的......
节点列表可能如下所示:

numberlist[2]
numberlist[3]
numberlist[200]
numberlist[20034759044900]
numberlist[23847982344986350]
Run Code Online (Sandbox Code Playgroud)

我将删除已处理的节点.最多我将使用1,5GB的内存.
请回复此更新,我想知道我的想法是否正确.
我也想从错误中吸取教训!

c# linked-list biginteger

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

枚举为字符串或字符串常量

我遇到了这篇博文,我只是很好奇.我通常总是constants在我的应用程序中使用我的共享字符串.

我想知道你认为前一种方式的优点/缺点是什么?

c# enums

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

C#删除尚未添加的控件

在C#Windows窗体中,我正在创建一些动态控件:

TextBox field = new TextBox();
DateTimePicker field2 = new DateTimePicker();
CheckBox field3 = new CheckBox();
Run Code Online (Sandbox Code Playgroud)

基于在此之后运行的一些if语句,我将需要删除3个控件中的2个,甚至在它们被添加到表单之前.如果我试试这个

Controls.Remove(field);
Controls.Remove(field3);
Run Code Online (Sandbox Code Playgroud)

它不起作用,大概是因为它们实际上还没有控制.那我怎么能摧毁他们呢?我需要删除它们的原因是因为之后在上面的情况下,我没有删除field2因为我需要保留DateTimePicker,我将重命名为"字段".

c# controls winforms

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

如何将文件/文件夹移动到现有文件夹

我正在开发类似回收站的东西,我需要将文件夹/文件移动到已存在的文件夹,我试图使用

Directory.Move
Run Code Online (Sandbox Code Playgroud)

但它创建了新目录,这对我来说是错误的,我有一个特定的目录要移动到.你能帮助我吗?

c#

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

删除Git中的早期提交

我想删除几个早期的提交.这就是我的回购现在的样子 -

R----A----B----C----HEAD.
Run Code Online (Sandbox Code Playgroud)

我想删除提交A和C,并放弃它们所做的更改.这就是我的回购应该是这样的 -

R----B-----HEAD.
Run Code Online (Sandbox Code Playgroud)

我怎么能在Git中做到这一点?

谢谢.

git

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

ASP.net MVC 3错误:CS0103

我刚开始学习ASP.NET MVC 3表单本书,我有一个例子,从它的一个问题.

我总是得到这个错误

描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误消息:CS0103:当前上下文中不存在名称"Text"

这是代码:

@Html.DropDownListFor(p => p.WillAttend, new[]
                                            {
                                                new SelectListItem(), Text = "Yes I'll be there", Value = bool.TrueString,
                                                new SelectListItem(), Text = "No, I can't come", Value =  bool.FalseString

                                            }, "Chose option")
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

c# error-handling asp.net-mvc

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

正则表达式 - 删除HTML字符串的最后一个<p>段

我有一个从RSS提要中提取的HTML结构,我需要删除它的一部分,但它不是流的独立部分.

所以我有

<p>Some Html... </p>
<br />
<p>The p section I want to remove</p>
Run Code Online (Sandbox Code Playgroud)

是否有正则表达式模式可以做到这一点?找到<p>给定字符串的最后一段并将其删除?我正在使用C#作为正则表达式.

c# regex html-parsing

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