Tag: 转置

转换WMI HDD序列号

我有一些代码从WMI获取硬盘序列号。 SelectQuery selectQuery = new SelectQuery(“Win32_PhysicalMedia”); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); foreach (ManagementObject wmi_PM in searcher.Get()) { string str = wmi_PM[“SerialNumber”]; } 起初我以为它正在工作并检索到正确的序列号。 在尝试使用它进行比较之后,我发现WMI报告的数字并不完全正确。 WMI序列号用一堆空格填充,并且字符被转置。 贴纸上打印并由某些工具(可能使用DeviceIoControl)返回的实际驱动器序列号为“3RH8B1BG”,但WMI返回“R38H1BGB”。 Real Serial#:3RH8B1BG WMI Serial#:R38H1BGB 一些工具,如SiSoftware Sandra,返回这个填充和转置的数字,但它不是实际的序列号。 如果您转换每个其他位置,WMI值是序列号。 这是正常的吗? 我应该只编码将其转换为正确的值吗? 我试图避免使用WMI,但似乎任何搜索如何在网上做某事现在带回WMI示例。 不同制造商的2个不同硬盘的WMI值序列号都被转置,因此它不是单个磁盘。 更新:使用DeviceIoControl找到一些代码 http://addressof.com/blog/archive/2004/02/14/392.aspx 令人惊讶的是,DeviceIoControl也返回转置的序列号。 在上面的CorySmith代码中,它有一个SwapChars函数 Private Shared Function SwapChars(ByVal chars() As Char) As String For i As Integer = […]

如何转置矩阵?

我使用c#制作了8×8矩阵,现在我需要转置矩阵。 你能帮我转置矩阵吗? 这是我的矩阵 public double[,] MatriksT(int blok) { double[,] matrixT = new double[blok, blok]; for (int j = 0; j < blok ; j++) { matrixT[0, j] = Math.Sqrt(1 / (double)blok); } for (int i = 1; i < blok; i++) { for (int j = 0; j < blok; j++) { matrixT[i, j] = […]