欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# String Replace高效的實(shí)例方法

 更新時間:2013年05月01日 13:56:52   作者:  
C# String Replace高效的實(shí)例方法,需要的朋友可以參考一下
復(fù)制代碼 代碼如下:

[ThreadStatic]
        static char[] mTempChars;

        protected static char[] GetTempData()
        {
            if (mTempChars == null)
                mTempChars = new char[1024 * 64];
            return mTempChars;
        }

        public static string Replace(string value, string oldData, string newData)
        {
            char[] tmpchars = GetTempData();
            int newpostion = 0;
            int oldpostion = 0;
            int length = value.Length;
            int oldlength = oldData.Length;
            int newlength = newData.Length;
            int index = 0;
            int copylength = 0;
            bool eq = false;
            while (index < value.Length)
            {
                eq = true;
                for (int k = 0; k < oldlength; k++)
                {
                    if (value[index + k] != oldData[k])
                    {
                        eq = false;
                        break;
                    }

                }
                if (eq)
                {
                    copylength = index - oldpostion;
                    value.CopyTo(oldpostion, tmpchars, newpostion, copylength);
                    newpostion += copylength;
                    index += oldlength;
                    oldpostion = index;
                    newData.CopyTo(0, tmpchars, newpostion, newlength);
                    newpostion += newlength;

                }
                else
                {
                    index++;
                }
            }
            if (oldpostion < length)
            {
                copylength = index - oldpostion;
                value.CopyTo(oldpostion, tmpchars, newpostion, copylength);
                newpostion += copylength;
            }
            return new string(tmpchars, 0, newpostion);
        }

相關(guān)文章

  • C# BitArray點(diǎn)陣列的使用

    C# BitArray點(diǎn)陣列的使用

    本文主要介紹了C# BitArray點(diǎn)陣列的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • c#中Invoke與BeginInvoke的用法及說明

    c#中Invoke與BeginInvoke的用法及說明

    這篇文章主要介紹了c#中Invoke與BeginInvoke的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#操作DataTable方法實(shí)現(xiàn)過濾、取前N條數(shù)據(jù)及獲取指定列數(shù)據(jù)列表的方法

    C#操作DataTable方法實(shí)現(xiàn)過濾、取前N條數(shù)據(jù)及獲取指定列數(shù)據(jù)列表的方法

    這篇文章主要介紹了C#操作DataTable方法實(shí)現(xiàn)過濾、取前N條數(shù)據(jù)及獲取指定列數(shù)據(jù)列表的方法,實(shí)例分析了C#操作DataTable的各種常用技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • C#泛型用法實(shí)例分析

    C#泛型用法實(shí)例分析

    這篇文章主要介紹了C#泛型用法,實(shí)例分析了C#泛型的功能、定義與使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#使用async和await實(shí)現(xiàn)異步編程

    C#使用async和await實(shí)現(xiàn)異步編程

    本文詳細(xì)講解了C#使用async和await實(shí)現(xiàn)異步編程的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 使用 C# 下載文件的多種方法小結(jié)

    使用 C# 下載文件的多種方法小結(jié)

    本文從最簡單的下載方式開始步步遞進(jìn),講述了文件下載過程中的常見問題并給出了解決方案。并展示了如何使用多線程提升 HTTP 的下載速度以及調(diào)用 aria2 實(shí)現(xiàn)非 HTTP 協(xié)議的文件下載,對C# 下載文件相關(guān)知識感興趣的朋友一起看看吧
    2021-08-08
  • c#基礎(chǔ)系列之ref和out的深入理解

    c#基礎(chǔ)系列之ref和out的深入理解

    有過C#基礎(chǔ)知識的都應(yīng)該清楚Ref和Out的使用方法,所以下面這篇文章主要給大家介紹了關(guān)于c#基礎(chǔ)系列之ref和out的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • C# 元組和值元組的具體使用

    C# 元組和值元組的具體使用

    這篇文章主要介紹了C# 元組和值元組的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 基于C#實(shí)現(xiàn)屏幕桌面截圖

    基于C#實(shí)現(xiàn)屏幕桌面截圖

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)屏幕桌面截圖以及左上角區(qū)域截圖功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • c# 日歷控件的實(shí)現(xiàn)

    c# 日歷控件的實(shí)現(xiàn)

    這篇文章主要介紹了c# 實(shí)現(xiàn)日歷的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12

最新評論