我在MSDN的文档中为Queue类找到了以下解决方案Clone函数。但是在我的代码中,出现以下错误:
private Queue<int> myQueue = new Queue<int>();
var clone = myQueue.Clone();
Run Code Online (Sandbox Code Playgroud)
'System.Collections.Generic.Queue'不包含'Clone'的定义,找不到扩展方法'Clone'接受类型为'System.Collections.Generic.Queue'的第一个参数(是否缺少using指令或装配参考?)
如何使用此功能?
我正在尝试提高计算图像平均值的方法的性能.
为此,我使用两个For语句来迭代所有图像,因此我尝试使用Parallel For来改进这一点,但结果并不相同.
我做错了吗?或者是什么导致了这种差异?
public static double MeanDN(this GrayImage image)
{
double mean = 0;
int totalPixels = image.Width * image.Height;
for (int i = 0; i < image.Height; i++)
for (int j = 0; j < image.Width; j++)
mean += (double)image[i, j] / totalPixels;
double parallelMean = 0;
Parallel.For(0, image.Height, i =>
{
for (int j = 0; j < image.Width; j++)
parallelMean += (double)image[i, j] / totalPixels;
});
return mean;
}
Run Code Online (Sandbox Code Playgroud)
输出:
mean = 404.12
parallelMean = 148.8658