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

C#把數組中的某個元素取出來放到第一個位置的實現方法

 更新時間:2014年12月04日 14:50:03   投稿:shichen2014  
這篇文章主要介紹了C#把數組中的某個元素取出來放到第一個位置的實現方法,涉及C#針對數組的常見操作技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了C#把數組中的某個元素取出來放到第一個位置的實現方法。分享給大家供大家參考。具體分析如下:

如何取出數組中符合某種條件的元素,然后放在數組最前面,即索引為0的位置?

思路大致如下:

① 找到符合條件的數組元素,把之賦值給一個臨時變量temp,并記下該數組元素的索引位置,假設是index
② 在源數組中,從索引為0的數組元素開始,拷貝index個數組元素到另外一個目標數組
③ 把臨時變量temp賦值給目標數組索引為0的位置

復制代碼 代碼如下:
public static class ArrHelper
{
        /// <summary>
        /// 對類型為T的數組進行擴展,把滿足條件的元素移動到數組的最前面
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="arr">源數組</param>
        /// <param name="match">lamda表達式</param>
        /// <returns></returns>
        public static bool MoveToFront<T>(this T[] arr, Predicate<T> match)
        {
            //如果數組的長度為0
            if (arr.Length == 0)
            {
                return false;
            }
            //獲取滿足條件的數組元素的索引
            var index = Array.FindIndex(arr, match);
            //如果沒有找到滿足條件的數組元素
            if (index == -1)
            {
                return false;
            }
            //把滿足條件的數組元素賦值給臨時變量
            var temp = arr[index];
            Array.Copy(arr, 0, arr, 1, index);
            arr[0] = temp;
            return true;
        }
        public static void PrintArray<T>(T[] arr)
        {
            foreach (var item in arr)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
}

以上,是針對泛型數組的擴展,所以可以直接使用數組實例調用擴展方法。

復制代碼 代碼如下:
class Program
{
        static void Main(string[] args)
        {
            int[] intArr = new int[]{1, 2, 3, 4, 5};
            ArrHelper.PrintArray(intArr);
            intArr.MoveToFront(i => i == 3);
            ArrHelper.PrintArray(intArr);
            Console.ReadKey();
        }
}

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • C#正則表達式轉義字符介紹

    C#正則表達式轉義字符介紹

    正則表達式,又稱正規(guī)表示法、常規(guī)表示法。這篇文章主要介紹了C#正則表達式轉義字符介紹的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • C#實現MP3播放器功能的示例代碼

    C#實現MP3播放器功能的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C#實現MP3播放器功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • Unity C#打包AssetBundle與場景詳解

    Unity C#打包AssetBundle與場景詳解

    這篇文章主要給大家介紹了關于Unity C#打包AssetBundle與場景的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Unity shader實現多光源漫反射以及陰影

    Unity shader實現多光源漫反射以及陰影

    這篇文章主要為大家詳細介紹了shader實現多光源漫反射以及陰影,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C#線程入門教程之單線程介紹

    C#線程入門教程之單線程介紹

    這篇文章主要介紹了C#線程入門教程之單線程介紹,本文講解了什么是進程、什么是線程、什么是多線程等內容,并給出了一個單線程代碼示例,需要的朋友可以參考下
    2015-02-02
  • WinForm使用正則表達式提取內容的方法示例

    WinForm使用正則表達式提取內容的方法示例

    這篇文章主要介紹了WinForm使用正則表達式提取內容的方法,結合實例形式分析了WinForm基于正則匹配獲取指定內容的相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • Unity UGUI的Slider滑動條件組使用詳解

    Unity UGUI的Slider滑動條件組使用詳解

    這篇文章主要為大家介紹了Unity UGUI的Slider滑動條件組使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C#實現自定義單選和復選按鈕樣式

    C#實現自定義單選和復選按鈕樣式

    這篇文章主要為大家詳細介紹了如何利用C#實現定義單選和復選按鈕樣式,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#實現線程池的簡單示例

    C#實現線程池的簡單示例

    這篇文章主要介紹了C#實現線程池的簡單示例,代碼簡潔易懂,有助于初學的朋友更好的理解C# 的線程池,需要的朋友可以參考下
    2014-07-07
  • Unity平臺模擬自動擋駕駛汽車

    Unity平臺模擬自動擋駕駛汽車

    這篇文章主要為大家詳細介紹了Unity平臺模擬自動擋駕駛汽車,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07

最新評論