/* ---------------------------------------------------------- * 文件名称:Utils.cs * * 作者:秦建辉 * * QQ:36748897 * * 博客:http://www.firstsolver.com/wordpress/ * * 开发环境: * Visual Studio V2015 * .NET Framework 4 Client Profile * * 版本历史: * V1.0 2016年05月20日 * 一种提取子数组的简洁高效方法 * ---------------------------------------------------------- */ using System.Linq; namespace Com.FirstSolver.Toolkit { public static class Utils { /// <summary> /// 泛型扩展方法:提取子数组 /// </summary> /// <typeparam name="TSource">数组类型</typeparam> /// <param name="source">源数据</param> /// <param name="startIndex">起始位置</param> /// <param name="count">数据长度</param> /// <returns>子数组</returns> public static TSource[] CopyRange<TSource>(this TSource[] source, int startIndex, int count) { if (startIndex == 0) return source.Take(count).ToArray(); else if (startIndex + count == source.Length) return source.Skip(startIndex).ToArray(); else return source.Skip(startIndex).Take(count).ToArray(); } } }