/// <summary> /// Constructs a DictionaryBasedTrie from an Enumerable of FileTypes /// </summary> /// <param name="types"></param> public HybridTrie(IEnumerable <FileType> types) { if (types is null) { ThrowHelpers.FileTypeArgumentIsNull(); } this.OffsetNodes[0] = new OffsetNode(0); foreach (var type in types) { if (!(type is null)) { this.Insert(type); } } }
/// <summary> /// Constructs a DictionaryBasedTrie from an Enumerable of FileTypes /// </summary> /// <param name="types"></param> public HybridTrie(IEnumerable <FileType> types) { if (types is null) { ThrowHelpers.FileTypeArgumentIsNull(); } OffsetNodes[0] = new OffsetNode(0); foreach (var type in types) { if ((object)type != null) { Insert(type); } } }
public void Insert(FileType fileType) { if (fileType is null) { ThrowHelpers.FileTypeArgumentIsNull(); } if (this.typesLength >= this.types.Length) { var newTypesCount = this.types.Length * 2; var newTypes = new FileType[newTypesCount]; Array.Copy(this.types, newTypes, this.typesLength); this.types = newTypes; } this.types[this.typesLength] = fileType; this.typesLength++; }