我有2个相同类型的对象,我想浅一个状态到另一个.在C++中我有memcpy,这很棒.我怎么能在C#中做到这一点?MemberwiseClone()不够好,因为它创建并返回一个新对象,我喜欢复制到现有对象.我想过使用反射,但我担心它对于生产代码来说太慢了.我还想过使用其中一个.Net序列化程序,但我认为它们也创建了对象而不是设置现有对象.
我的用例:
我有一个模板对象(类不是struct),需要通过其中一个实例(由此模板构成的对象)进行更新
有任何想法吗?
这条线在这里:
memcpy(v[0], b_y1[0], 160U * sizeof(double));
Run Code Online (Sandbox Code Playgroud)
where v和b_y1area double arrays(double[]).
这条线到底在做什么?它是通过将MatLab转换为C++到C#生成的.如果需要,我可以提供以下全部功能.
编辑:我正在考虑这个问题与潜在的重复不同,因为该问题的答案都没有包含我采用的方法,即 BitConverter 类。如果我将其标记为非重复,则此处删除潜在的重复问题链接。
我想知道这个代码的 c# 等价物是什么考虑数组中的每个元素都是一个字节并且它被复制到一个 int。
byte offsetdata[sizeof(int)] = { 0,0,0,0 };
offsetdata[0] = m_Response[responseIndex++];
offsetdata[1] = m_Response[responseIndex++];
offsetdata[2] = m_Response[responseIndex++];
offsetdata[3] = m_Response[responseIndex++];
int offset = 0;
memcpy(&offset, offsetdata, sizeof offset);
m_ZOffset = offset;
Run Code Online (Sandbox Code Playgroud)