程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#把數組中的某個元素掏出來放到第一個地位的完成辦法

C#把數組中的某個元素掏出來放到第一個地位的完成辦法

編輯:C#入門知識

C#把數組中的某個元素掏出來放到第一個地位的完成辦法。本站提示廣大學習愛好者:(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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved