/// <summary> /// 遍历Array,可取到Array本身和元素位置 /// </summary> /// <param name="array">Array本身</param> /// <param name="action">[Array本身,元素在数组中的位置]</param> public static void ForEach(this Array array, Action <Array, int[]> action) { if (array.Length == 0) { return; } var walker = new ArrayTraverse(array); do { action(array, walker.Position); }while (walker.Step()); }
/// <summary> /// 遍历Array重载,可取到当前遍历到的元素 /// </summary> /// <param name="array">Array本身</param> /// <param name="action">[当前元素]</param> public static void ForEach <T>(this Array array, Action <T> action) { if (array.Length == 0) { return; } var walker = new ArrayTraverse(array); do { action((T)array.GetValue(walker.Position)); }while (walker.Step()); }