问题列表 - 第37374页

ExitCode为-1返回C#

在我的C#应用​​程序中,我正在使用.NET Process类启动一个程序.有时,程序完成后,Process.ExitCode为-1.这是一个大型程序,我无法追踪用-1调用`exit'的位置.

事实上,我不知道如何让程序返回-1的退出代码.我创建了一个只从main'. Whatever value I return from C, in C#, I see that value mod 256. If the C program returns -1, in C#, I see 255. From a Cygwin bash shell,echo $ 返回的C程序?在这种情况下也显示255.

原始程序 - 显示ExitCode为-1的程序 - 用OCaml编写.我认为这不重要.

那么什么会导致Process.ExitCode显示为-1?

c# ocaml exit

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

任务并行库中的BlockingCollection不会自动释放基础实例的引用

我使用a BlockingCollection在C#4.0中实现生产者 - 消费者模式.

BlockingCollection拥有这占用了不少的内存物品.我想让生产者一次从BlockingCollection中取出一个项目并进行处理.

我想通过使用foreach BlockingCollection.GetConsumingEnumerable(),每次BlockingCollection都会从底层队列中删除项目(这意味着所有与引用一起)所以在处理项目的Process()方法的末尾,项目可能是垃圾集.

但是这是错误的.似乎foreach循环BlockingCollection.GetConsumingEnumerable()确实保存了输入队列的项目的所有引用.所有物品都被保持(因此防止被垃圾收集)直到踩出foreach循环.

BlockingCollection.GetConsumingEnumerable()我没有使用简单的foreach循环,而是使用while循环测试BlockingCollection.IsComplete标记,并在循环内部BlockingCollection.Take()用于获取耗材项.我认为它BlockingCollection.Take()具有类似的效果List.Remove(),它将从BlockingCollection中删除该项的引用.但这又是错误的.所有项目仅在while循环之外收集垃圾.

所以我的问题是,我们如何轻松实现这一要求,以便BlockingCollection可能会占用内存消耗的项目,并且一旦消费者使用了每个项目就可以进行垃圾回收?非常感谢您的帮助.

编辑:根据要求,添加了一个简单的演示代码:

// Entity is what we are going to process.
// The finalizer will tell us when Entity is going to be garbage collected.
class Entity
{
    private static int counter_;
    private int id_;
    public int ID { get{ return id_; } }
    public Entity() { id_ = counter++; }
    ~Entity() { Console.WriteLine("Destroying entity {0}.", …
Run Code Online (Sandbox Code Playgroud)

c# multithreading task-parallel-library

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

在.net中以zip格式下载多个文件

我有一个文件列表,每个文件都有复选框,如果用户检查了很多文件并点击下载,我必须压缩所有这些文件并下载...就像在邮件附件中一样..

我已经使用本文中提到的代码进行单个文件下载

请帮助如何下载多个文件作为zip ..

.net c# download

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

如何使用python将单字符ASCII数据发送到串行端口

我看了pyserial,但我似乎无法弄清楚如何做到这一点.我只需要一次发送一个?请帮忙?

python arduino

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

ajax调用后jQuery动态调整大小div

我正在尝试扩展div以适应文本,而不必指定确切的hegiht.我试过用类似的东西.

$('#div').addClass('myclass');
Run Code Online (Sandbox Code Playgroud)

myclass的高度为:auto; 但那不行.我不知道如何让它从一个返回文本的ajax调用中相应地扩展div.

这是主要的css类

.pro_input{ 
    border-top:2px solid #919191;
    border-left:1px solid #CBCBCB;
    border-right:1px solid #CBCBCB;
    border-bottom:1px solid #CBCBCB;
    width:530px;
    background-color:#F2F2F2;
    height:72px;    
 }
 .pro_attach{
     height:auto;
  }
Run Code Online (Sandbox Code Playgroud)

我只是想在ajax响应之后使高度自动化.文字可以是一点点或很多.所以我需要它相应扩展.我使用addclass来改变其他东西但是将它与jQuery addclass与pro_attach一起使用不起作用.

谢谢

javascript css jquery

18
推荐指数
2
解决办法
5万
查看次数

如何安装IntelliJ插件而不将其上传到IntelliJ

我已经构建了我的.zip文件,我只想将它解压缩到我的〜/ Library/Application Support/Intellij-x文件夹中

这似乎不起作用,并且所有的jetbrains告诉我(在他们的文档中)是我应该将它上传到他们的服务器."那么每个人都可以访问它!" 好像这是一件好事,而我正试图在沙箱外测试它,"你可以马上得到它!",没有提到它必须经过2天的审核.

起初我以为是因为我将构建版本设置为错误的版本,所以我尝试将其设置为1,但这不起作用.

有关如何使其工作的任何提示?您是否期望将其提取到该文件夹​​应该有效?

plugins intellij-idea

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

用不同的字符串替换相同的字符

假设我有一个字符串

$str = "abc*efg*hij*";
Run Code Online (Sandbox Code Playgroud)

和一个数组

$arr = array("123","456","789");
Run Code Online (Sandbox Code Playgroud)

现在我想根据位置替换*s in $str中的元素.$arr第一个*替换为$arr[0],第二个替换为.$arr[1]我检查函数str_replace,虽然它接受数组作为参数但我发现它不起作用.我不能只是使用

$newstr = "abc{$arr[0]}efg{$arr[1]}hij{$arr[2]}"
Run Code Online (Sandbox Code Playgroud)

因为真实$str可能是一个很长的字符串,有很多*.好的想法?谢谢.

php arrays replace

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

如何在iPad中注释PDF

我需要在我的应用程序中注释PDF.iPhone/iPad中是否有用于PDF注释的API?有什么建议?

pdf ios

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

搜索命令`//`如何在Vim中工作?

搜索//完东西后,如果你点击,你似乎得到了下一个结果.这有什么不同n?你应该如何使用它?什么//e匹配,还有什么其他选择//

vim search keyboard-shortcuts

12
推荐指数
3
解决办法
499
查看次数

编译置换在GWT中意味着什么?

编译Web App项目时,会编译6个排列.那些排列是什么,它们是什么意思?

compiler-construction gwt

41
推荐指数
3
解决办法
2万
查看次数