Take a look at the following links they may be helpful:
- Enumerate SQL Server Instances in C#, Using ODBC
- How to get a list of available SQL Servers using C# (MSDN)
- Populating a list of SQL Servers
Alternatively you could change your code to this:
DataTable dt = SmoApplication.EnumAvailableSqlServers(false);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dr["Name"]);
}
}
Hope this solves your problem.