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

C#把數(shù)組中的某個元素取出來放到第一個位置的實現(xiàn)方法

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

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

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

思路大致如下:

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

復(fù)制代碼 代碼如下:
public static class ArrHelper
{
        /// <summary>
        /// 對類型為T的數(shù)組進(jìn)行擴展,把滿足條件的元素移動到數(shù)組的最前面
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="arr">源數(shù)組</param>
        /// <param name="match">lamda表達(dá)式</param>
        /// <returns></returns>
        public static bool MoveToFront<T>(this T[] arr, Predicate<T> match)
        {
            //如果數(shù)組的長度為0
            if (arr.Length == 0)
            {
                return false;
            }
            //獲取滿足條件的數(shù)組元素的索引
            var index = Array.FindIndex(arr, match);
            //如果沒有找到滿足條件的數(shù)組元素
            if (index == -1)
            {
                return false;
            }
            //把滿足條件的數(shù)組元素賦值給臨時變量
            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();
        }
}

以上,是針對泛型數(shù)組的擴展,所以可以直接使用數(shù)組實例調(diào)用擴展方法。

復(fù)制代碼 代碼如下:
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#程序設(shè)計有所幫助。

相關(guān)文章

  • C#正則表達(dá)式轉(zhuǎn)義字符介紹

    C#正則表達(dá)式轉(zhuǎn)義字符介紹

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

    C#實現(xiàn)MP3播放器功能的示例代碼

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

    Unity C#打包AssetBundle與場景詳解

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

    Unity shader實現(xiàn)多光源漫反射以及陰影

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

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

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

    WinForm使用正則表達(dá)式提取內(nèi)容的方法示例

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

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

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

    C#實現(xiàn)自定義單選和復(fù)選按鈕樣式

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

    C#實現(xiàn)線程池的簡單示例

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

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

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

最新評論