If its for a client then I have always found it better to simply use a prebuilt forum software.
I cannot justify the expense to the client to recreate existing technology which will inevitably be missing some of the more advanced features even if I did try to code something.
I think to start coding a forum would be easy but you would soon run into a situation where you would have to stop relying on the built in controls because you need more fine grained control over them. What i'm thinking of specifically here is fine grained control over admin features, adding items to favourites, digest emails, user roles, thread statistics, private messaging are all features which would be useful but would take time to create on their own.
If this sounds anything like your situation then you might find the following link helpful:
http://www.yetanotherforum.net/
I have also purchased this one for several clients projects because of the integration features with the membership provider:
http://www.aspplayground.net/
However - if you are trying to get started on learning coding techniques and you are using the concept of a forum as your project then please follow the links of the other replies in this thread :)
Bhaskarav, if this helps please login to Mark As Answer. | Alert Moderator