Here is my answer to somewhat similar question. It is 2010 solution in Powershell but you can easily convert it Moving a Discussion from a Discussion Board to another?
Addition:
I posted my original answer from my mobile device so I feel obligated to provide more info.
To simplify things: In discussion list discussions are folders and messages are items inside folders. Since there are no items on 'root' list.Items.Count will return 0 and list.ItemCount will return number of folders/discussions.
And now the fun stuff.
Get all discussions (@KitMenke already provided this)
foreach (SPListItem discussion in list.Folders)
{
}
Get all discussions with all messages
foreach (SPListItem discussion in list.Folders)
{
//discussion.Title is discussion title
SPQuery query = new SPQuery();
query.Folder = discussion.Folder;
SPListItemCollection messages = list.GetItems(query);
foreach(SPListItem message in messages)
{
// message["TrimmedBody"] is message body
}
}
Get all messages
SPQuery query = new SPQuery();
query.ViewAttributes = "Scope='Recursive'";
SPListItemCollection messages = list.GetItems(query);
foreach (SPListItem message3 in messages3)
{
// message.DisplayName is discussion title !
// message["TrimmedBody"] is message body
}
Get all messages from current user
SPQuery query = new SPQuery();
query.Query = "<Eq><FieldRef Name='Author'/><Value Type='Integer'><UserID/></Value></Eq>";
query.ViewAttributes = "Scope='Recursive'";
SPListItemCollection messages = list.GetItems(query);
foreach (SPListItem message in messages)
{
// message.DisplayName is discussion title !
// message["TrimmedBody"] is message body
}