最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#通過指針實(shí)現(xiàn)快速拷貝的方法

 更新時(shí)間:2015年06月10日 09:29:18   作者:pythoner  
這篇文章主要介紹了C#通過指針實(shí)現(xiàn)快速拷貝的方法,涉及C#指針的相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了C#通過指針實(shí)現(xiàn)快速拷貝的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

// fastcopy.cs
// 編譯時(shí)使用:/unsafe
using System;
class Test
{
  // unsafe 關(guān)鍵字允許在下列
  // 方法中使用指針:
  static unsafe void Copy(byte[] src, int srcIndex, byte[] dst, int dstIndex, int count)
  {
    if (src == null || srcIndex < 0 ||
      dst == null || dstIndex < 0 || count < 0)
    {
      throw new ArgumentException();
    }
    int srcLen = src.Length;
    int dstLen = dst.Length;
    if (srcLen - srcIndex < count || dstLen - dstIndex < count)
    {
      throw new ArgumentException();
    }
    // 以下固定語句固定
    // src 對象和 dst 對象在內(nèi)存中的位置,以使這兩個(gè)對象
    // 不會(huì)被垃圾回收移動(dòng)。
    fixed (byte* pSrc = src, pDst = dst)
    {
      byte* ps = pSrc;
      byte* pd = pDst;
      // 以 4 個(gè)字節(jié)的塊為單位循環(huán)計(jì)數(shù),一次復(fù)制
      // 一個(gè)整數(shù)(4 個(gè)字節(jié)):
      for (int n = 0; n < count / 4; n++)
      {
        *((int*)pd) = *((int*)ps);
        pd += 4;
        ps += 4;
      }
      // 移動(dòng)未以 4 個(gè)字節(jié)的塊移動(dòng)的所有字節(jié),
      // 從而完成復(fù)制:
      for (int n = 0; n < count % 4; n++)
      {
        *pd = *ps;
        pd++;
        ps++;
      }
    }
  }
  static void Main(string[] args)
  {
    byte[] a = new byte[100];
    byte[] b = new byte[100];
    for (int i = 0; i < 100; ++i)
      a[i] = (byte)i;
    Copy(a, 0, b, 0, 100);
    Console.WriteLine("The first 10 elements are:");
    for (int i = 0; i < 10; ++i)
      Console.Write(b[i] + " ");
    Console.WriteLine("\n");
  }
}

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺談C#中[]的幾種用法

    淺談C#中[]的幾種用法

    本文主要介紹了淺談C#中[]的幾種用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • C#實(shí)現(xiàn)自定義光標(biāo)并動(dòng)態(tài)切換

    C#實(shí)現(xiàn)自定義光標(biāo)并動(dòng)態(tài)切換

    這篇文章主要為大家詳細(xì)介紹了如何利用C#語言實(shí)現(xiàn)自定義光標(biāo)、并動(dòng)態(tài)切換光標(biāo)類型,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-07-07
  • 淺談C#數(shù)組(一)

    淺談C#數(shù)組(一)

    本篇文章小編要得大家介紹的是C#數(shù)組,數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),它可以包含同一個(gè)類型的多個(gè)元素,如果需要使用同一類型的多個(gè)對象,可以使用數(shù)組和集合,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • C#中的HttpWebRequest類介紹

    C#中的HttpWebRequest類介紹

    本文詳細(xì)講解了C#中的HttpWebRequest類,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C#交錯(cuò)數(shù)組知識點(diǎn)分析

    C#交錯(cuò)數(shù)組知識點(diǎn)分析

    在本篇文章里小編給大家整理的是關(guān)于C#交錯(cuò)數(shù)組知識點(diǎn)分析,需要的朋友們參考下。
    2019-11-11
  • C#實(shí)現(xiàn)懸浮窗口的方法詳解

    C#實(shí)現(xiàn)懸浮窗口的方法詳解

    這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)懸浮窗口的相關(guān)資料,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#串口通信總是丟數(shù)據(jù)的原因及解決方案

    C#串口通信總是丟數(shù)據(jù)的原因及解決方案

    在上位機(jī)開發(fā)中,串口通信是一個(gè)非常常見的通信方式,尤其是在與嵌入式設(shè)備、PLC、傳感器等硬件設(shè)備進(jìn)行交互時(shí),串口通信簡單、直接且廣泛應(yīng)用,但它也有自己的局限性,那么,為什么你的C#串口通信總是丟數(shù)據(jù)?本文將深度分析串口通信丟數(shù)據(jù)的原因,并提供一些有效的解決方案
    2025-02-02
  • C# OpenCvSharp實(shí)現(xiàn)通過特征點(diǎn)匹配圖片

    C# OpenCvSharp實(shí)現(xiàn)通過特征點(diǎn)匹配圖片

    這篇文章主要為大家詳細(xì)介紹了C#如何結(jié)合OpenCVSharp4實(shí)現(xiàn)通過特征點(diǎn)匹配圖片,文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11
  • UnityShader3實(shí)現(xiàn)波浪效果

    UnityShader3實(shí)現(xiàn)波浪效果

    這篇文章主要為大家詳細(xì)介紹了UnityShader3實(shí)現(xiàn)波浪效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C#圖片處理3種高級應(yīng)用

    C#圖片處理3種高級應(yīng)用

    本文介紹C#圖片處理高級應(yīng)用,這些功能并無多大技術(shù)含量。全部基于.Net Framework類庫完成,代碼中包含了C#圖片處理的一些基礎(chǔ)知識,與大家分享,個(gè)人能力有限,不足之處還請及時(shí)指正。
    2015-10-10

最新評論

揭东县| 巴东县| 香格里拉县| 报价| 金寨县| 安义县| 平定县| 乐山市| 武山县| 大英县| 崇阳县| 上犹县| 友谊县| 清远市| 和平区| 桑植县| 嘉荫县| 巩义市| 周口市| 华蓥市| 岗巴县| 汉寿县| 泾源县| 克什克腾旗| 安平县| 巴青县| 仙桃市| 大英县| 涞水县| 淮滨县| 南乐县| 通渭县| 左权县| 清徐县| 日照市| 永登县| 子洲县| 绥宁县| 遂川县| 孝义市| 融水|