Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 克隆System.Windows.Media.Matrix_C#_.net_Wpf - Fatal编程技术网

C# 克隆System.Windows.Media.Matrix

C# 克隆System.Windows.Media.Matrix,c#,.net,wpf,C#,.net,Wpf,由于System.Windows.Media.Matrix不提供Clone()方法,因此克隆矩阵的最佳方法是什么 我现在正在使用以下方法: 从原始矩阵创建新矩阵 公共矩阵克隆(矩阵源) { 矩阵dest=新矩阵(source.M11、source.M12、source.M21、source.M22、source.OffsetX、source.OffsetY); 返回目的地; } 将源矩阵与单位矩阵相乘 公共矩阵克隆(矩阵源) { 返回矩阵。乘法(源,矩阵。恒等式); } 从另一个矩阵创建新矩阵非

由于System.Windows.Media.Matrix不提供Clone()方法,因此克隆矩阵的最佳方法是什么

我现在正在使用以下方法:

  • 从原始矩阵创建新矩阵

    公共矩阵克隆(矩阵源) {
    矩阵dest=新矩阵(source.M11、source.M12、source.M21、source.M22、source.OffsetX、source.OffsetY); 返回目的地; }

  • 将源矩阵与单位矩阵相乘

    公共矩阵克隆(矩阵源) { 返回矩阵。乘法(源,矩阵。恒等式); }


  • 从另一个矩阵创建新矩阵非常简单:

    var newMatrix = oldMatrix;
    
    这是因为矩阵是一个类,而不是一个类,因此是一个值类型,而不是一个引用类型

    有关更多信息,请参阅