首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >填充复数数组错误

填充复数数组错误
EN

Stack Overflow用户
提问于 2015-01-28 06:12:19
回答 1查看 2.4K关注 0票数 2

我有两个数组。一个包含“真实”值,另一个包含“虚构”值。这两个数组需要组合成一个复数数组。我尝试了以下几种方法:

代码语言:javascript
复制
Complex[] complexArray = new Complex[16384];

for (int i = 0; i <16384; i++)
(
    complexArray[i].Real = realArray[i];
    complexArray[i].Imaginary = imaginaryArray[i];
}

它不起作用。它给出了错误:属性或索引器'System.Numerics.Complex.Real‘不能被赋值--它是只读的。我知道复数是不可变的,但是如何创建这样的数组呢?

更重要的是,一旦我有了这个数组,我就想要在其中移动值。

EN

回答 1

Stack Overflow用户

发布于 2015-01-28 06:14:13

只需使用Complex的构造函数

代码语言:javascript
复制
Complex[] complexArray = new Complex[16384];
for (int i = 0; i < complexArray.Length; i++)
(
    complexArray[i] = new Complex(realArray[i], imaginaryArray[i]);
}

然后,您可以选择使用LINQ来减少代码量(稍微降低性能成本):

代码语言:javascript
复制
var complexArray = realArray.Zip(imaginaryArray, (a, b) => new Complex(a, b)).ToArray();

要移动数组中的值,请执行与值为intdouble相同的操作

代码语言:javascript
复制
int i = 5;
int j = 7;
// Swap positions i and j
var temp = complex[i];
complex[i] = complex[j];
complex[j] = temp;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28181018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档