国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2020-01-24 02:15:03
字體:
來源:轉載
供稿:網友

本文實例講述了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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新营市| 富锦市| 鄱阳县| 岳西县| 临澧县| 沂南县| 广汉市| 舞阳县| 博湖县| 泾阳县| 镇原县| 靖西县| 枝江市| 玉山县| 三原县| 库伦旗| 垫江县| 平阴县| 广宁县| 连山| 惠安县| 余姚市| 上蔡县| 筠连县| 水富县| 岫岩| 当雄县| 绥江县| 郧西县| 平乡县| 高要市| 苏尼特右旗| 安平县| 嘉善县| 邢台市| 安远县| 昆明市| 永胜县| 纳雍县| 广州市| 烟台市|