Basically I want to develop a Address lookup(part of my project) using C# (and I can use SQL if necessary). I have a very large text file which have all the UK address and postcodes. Addresses needs to be looked up from this text file.

For example, as soon as a user type in the first letter of the postcode it should list all the postcodes starting with that letter and as they type in further, the list should narrow down.

Could you guys please how I can do this search very fast and list the results in a efficient way.
This is what im looking for, please see the image
If you guys know any methods and technologies pls do advice

Maintain a separate list of all the post codes and display the matching ones as they type. You can also do partial look ups as they type (in a separate thread) so when they finish you have already retrieved part of the data.