C# is having Dataset and datatables which can be used much similar to external database (eg. ms access database (.mdb)).
Even when the database is more optmized to handle query for selection and sorting, it is advisable to use built-in Dataset/Datatables.
Because I/O operations between the C#/.net application and the external database will consume significant time which will ultimately reduce the performance/speed of execution.
I can see significant performance difference between these two approaches when we did some performance testing using the code developed based on database and the code using built-in datatables.
But I am not sure whether Dataset will be useful if we need to handle large amount of data.