小编Gam*_*ure的帖子

为什么异步进程不称为同步?

所以我对这个术语感到有点困惑.

每个人都将"异步"计算称为在单独的线程上运行不同的进程,这给出了这些进程同时运行的错觉.

这不是异步这个词的定义.

a?syn?chro?nous
–adjective 
1. not occurring at the same time. 
2. (of a computer or other electrical machine) having each operation started only after the preceding operation is completed. 
Run Code Online (Sandbox Code Playgroud)

我在这里不理解什么?

parallel-processing asynchronous terminology

24
推荐指数
3
解决办法
2956
查看次数

C#中的正则表达式用于文件名验证

有什么好的正则表达式可以验证文本字符串以确保它是有效的Windows文件名?(AKA没有\/:*?"<>|角色).

我想像下面这样使用它:

// Return true if string is invalid.
if (Regex.IsMatch(szFileName, "<your regex string>"))
{
    // Tell user to reformat their filename.
}
Run Code Online (Sandbox Code Playgroud)

c# regex

19
推荐指数
2
解决办法
4万
查看次数

C# - 调整图像画布大小(保持源图像的原始像素尺寸)

我的目标是拍摄一个图像文件并将尺寸增加到下一个2的幂,同时保留像素(也就是不缩放源图像).所以基本上最终结果将是原始图像,以及跨越图像右侧和底部的额外白色空间,因此总尺寸是2的幂.

下面是我正在使用的代码; 这会创建具有正确尺寸的图像,但源数据会因某种原因略微缩放和裁剪.

// Load the image and determine new dimensions
System.Drawing.Image img = System.Drawing.Image.FromFile(srcFilePath);
Size szDimensions = new Size(GetNextPwr2(img.Width), GetNextPwr2(img.Height));

// Create blank canvas
Bitmap resizedImg = new Bitmap(szDimensions.Width, szDimensions.Height);
Graphics gfx = Graphics.FromImage(resizedImg);

// Paste source image on blank canvas, then save it as .png
gfx.DrawImageUnscaled(img, 0, 0);
resizedImg.Save(newFilePath, System.Drawing.Imaging.ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

看起来源图像是根据新的画布大小差异缩放的,即使我使用的是一个名为DrawImageUnscaled()的函数.请告诉我我做错了什么.

c# graphics drawing image image-processing

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

在派生类中提升基类事件C#

我有一个基类DockedToolWindow:Form,以及从DockedToolWindow派生的许多类.我有一个容器类,用于保存和分配事件到DockedToolWindow对象,但是我想调用子类中的事件.

我实际上有一个关于如何实现这个MSDN网站告诉我要做的事情的问题.以下这节给我的问题是:

    // The event. Note that by using the generic EventHandler<T> event type
    // we do not need to declare a separate delegate type.
    public event EventHandler<ShapeEventArgs> ShapeChanged;

    public abstract void Draw();

    //The event-invoking method that derived classes can override.
    protected virtual void OnShapeChanged(ShapeEventArgs e)
    {
        // Make a temporary copy of the event to avoid possibility of
        // a race condition if the last subscriber unsubscribes
        // immediately after the null check and before the event …
Run Code Online (Sandbox Code Playgroud)

c# events base-class

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

如何对值为数组引用的Perl哈希进行排序?

嘿,我只是想知道是否有一个很酷的"单线程",可以排序我的哈希控件数组引用.所以我的哈希中有一堆键/值类似于:

$DataBase{$key} = \@value;
Run Code Online (Sandbox Code Playgroud)

但是我想按array[0]元素对哈希进行排序.然后循环通过'em.我有这个开头:

foreach my $key (sort {$DataBase{$a} cmp $DataBase{$b} } keys %DataBase)
Run Code Online (Sandbox Code Playgroud)

但这显然只是通过数组的指针值对我的哈希值进行排序.它并不一定是"一行",但我希望找到一个不涉及重构哈希的解决方案.

sorting perl hash reference perl-data-structures

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

C#MouseEventArgs"e.Delta"无法正常工作

嗨,我有一个MDI应用程序,其中子窗口处理许多鼠标事件.一切都没有问题(e.Button,e.Location等),直到我试图从e.Delta(鼠标棘爪的数量)中获取值.

e.Delta总是返回0.

我的事件触发没有问题,只是e.Delta的值总是为零,而其他一切似乎都有效.

我在我的子表单中尝试了以下事件:
MouseClick
MouseDown
MouseMove
MouseUp

我甚至尝试在主父MDI窗口中处理一些鼠标事件以查看它是否有帮助,但结果相同... e.Delta always = 0.

c# events

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

我可以记得std :: weak_ptr吗?

首先,一个典型的实施是std::weak_ptr什么?特别是std::weak_ptr只是一个控制块的指针std::shared_ptr

如果所有std::shared_ptr引用都消失了,内部控制块是否被删除?如果是这样,std::weak_ptr::expired()如果重新使用该内存,如何正常运行?


我有一个包含a的对象,std::weak_ptr我想memcpy将对象转换为稍后要处理的缓冲区.这样做会以某种方式打破智能指针的内部工作吗?

c++ shared-ptr weak-ptr data-representation c++11

-4
推荐指数
1
解决办法
238
查看次数