我对C#真的不熟悉,自从我使用这种语言进行编程已有多年了。我要发布我的代码,它有构建错误。这就是我想要做的,但我真的不确定如何继续。我撞墙了,真的不知道怎么办:
输入地址(作为字符串) 使用适当的函数解析地址 打印出完整的主机信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace CSDNS
{
class Program
{
static void PrintHostInfo(String host)
{
{
IPHostEntry hostinfo;
try
{
hostinfo = Dns.GetHostEntry("www.sunybroome.edu"); // DNS Name Resolution
//
// The IP address is now in hostinfo structure
// Print out the contents of hostinfo structure
// in an easily readable form with labels. For
// example, the host name can be output using:
Console.WriteLine("Hostname = {0}\n", hostinfo.HostName);
}
catch
{
// Print out the exception here...
}
try
{
IPHostEntry hostInfo;
//Attempt to resolve DNS for given host or address
hostInfo = Dns.Resolve(host);
//Display the primary host name
Console.WriteLine("\tCanonical Name: " + hostInfo.HostName);
//Display list of IP addresses for this host
Console.Write("\tIP Addresses: ");
foreach (IPAddress ipaddr in hostInfo.AddressList)
{
Console.Write(ipaddr.ToString() + " ");
}
Console.WriteLine();
//Display list of alias names for this host
Console.Write("\tAliases: ");
foreach (String alias in hostInfo.Aliases)
{
Console.Write(alias + " ");
}
Console.WriteLine("\n");
}
catch (Exception)
{
Console.WriteLine("\tUnable to resolve host: " + host + "\n");
}
}
}
static void Main(string[] args)
{
//Get and print local host info
try
{
Console.WriteLine("Local Host:");
String localHostName = Dns.GetHostName();
Console.WriteLine("\tHost Name: " + localHostName);
PrintHostInfo(localHostName);
}
catch (Exception)
{
Console.WriteLine("Unable to resolve local host\n");
}
//Get and print info for hosts given on command line
foreach (String arg in args)
{
Console.WriteLine(arg + ":");
PrintHostInfo(arg);
}
}
}
}
答案 0 :(得分:0)
您需要将host
传递给Resolve
方法,而不是hostInfo
(即包含您要解析的主机的字符串):
hostInfo = Dns.Resolve(host);