private static short[] checkValues(short[] values, short[] lengths) { if (values == null || values.Length > 256) { throw new ArgumentException("Values array is null or too long."); } //if (values.Any(x => x < 0)) if (IEnum.Any(values, x => x < 0)) { throw new ArgumentException("Negative values cannot appear in the values array."); } //if (values.Length != lengths.Sum(x => (int)x)) if (IEnum.Sum(lengths) != values.Length) { throw new ArgumentException("Number of values does not match code length sum."); } return(values); }