【问题标题】:memcpy function in c# [duplicate]c#中的memcpy函数[重复]
【发布时间】:2010-06-08 10:25:02
【问题描述】:

可能重复:
C# memcpy equivalent

c#中memcpy函数的等价物是什么?

【问题讨论】:

  • 您能否提供更多背景信息。你想做什么?
  • 您尝试做的任何细节。因为方法会因此而有所不同。
  • 您的问题缺乏很多信息需要回答。既然您在谈论 memcpy,我假设您想使用指针进行复制?但是在c#中有多种类型的指针。那你能详细说明一下吗?
  • 其实我有两个应用程序,第一个在c#中,第二个在c++中,两个应用程序都在相互通信,对于编码,我使用memcpy函数,我必须在c#应用程序中解码。

标签: c# .net


【解决方案1】:

如前所述,这取决于您要做什么... 所以你可以考虑其中之一......检查链接:

根据您的需要,可能还有其他可能的选择...

【讨论】:

    【解决方案2】:

    Buffer.BlockCopy 很接近,但仅限于数组。我同意这取决于你想要做什么。

    【讨论】:

      【解决方案3】:

      对于复制(字节)数组,您可以使用 Array.Copy() 方法,但这可能不是您想要的:

      byte[] array1 = new byte[10] { 1,2,3,4,5,6,7,8,9,10 };
      byte[] array2 = new byte[10];
      
      Array.Copy(array1,array2,10);
      

      【讨论】:

      【解决方案4】:

      没有。 C# 保护多层抽象背后的实际内存。不过,出于某些目的,IClonable 接口可能会有所帮助。

      【讨论】:

        【解决方案5】:

        不是完全等价的,但Array::Copy 是否做了您需要做的事情?

        【讨论】:

          【解决方案6】:

          您可以使用unsafe 和指针。但是你的具体情况会更多地说明你应该朝哪个方向发展。

          【讨论】:

            猜你喜欢
            • 2020-04-22
            • 1970-01-01
            • 1970-01-01
            • 2011-08-28
            • 2021-02-20
            • 1970-01-01
            • 2023-02-26
            • 1970-01-01
            • 2011-08-16
            相关资源
            最近更新 更多