public DataSource(String[] strings, byte[] data, int[] byStart) { Strings = strings ?? throw new ArgumentNullException(nameof(strings)); ByStart = byStart ?? throw new ArgumentNullException(nameof(byStart)); Data = data ?? throw new ArgumentNullException(nameof(data)); StartLengthIndexComparer = new StartLengthIndexComparer(strings); }
public App(byte[] data) { ByStart = new int[data.Length]; for (var i = 0; i < ByStart.Length; i++) { ByStart[i] = i; } ByLength = (int[])ByStart.Clone(); Data = data; Strings = new String[data.Length]; LengthStartIndexComparer = new LengthStartIndexComparer(Strings); StartLengthIndexComparer = new StartLengthIndexComparer(Strings); DataSource = new DataSource(Strings, Data, ByStart); }