private static int[] GetIndices(string value, int start, int final) { List <int> intList = new List <int>(); int final1; for (; start < final; start = final1) { final1 = Code128C.GetSwitch(value, start, final); if (final1 > start) { intList.AddRange((IEnumerable <int>)Code128C.GetIndices(value, start, final1)); } else { int val1 = Code128A.GetSwitch(value, start, final); int val2 = Code128B.GetSwitch(value, start, final); final1 = Math.Max(val1, val2); if (val1 >= val2) { intList.AddRange((IEnumerable <int>)Code128A.GetIndices(value, start, final1)); } else { intList.AddRange((IEnumerable <int>)Code128B.GetIndices(value, start, final1)); } } } return(intList.ToArray()); }
protected override int[] GetIndices(string value) { return(Code128B.GetIndices(value, 0, value.Length)); }