如何string.Join GetHostAddresses调用的结果?

Ren*_*Ren 1 c# messagebox

我想加入字符串以显示在消息框中,但不知道为什么我在这一行会收到错误:

IPAddress[] ips = Dns.GetHostAddresses(he.HostName);
var addr = string.Join(",",ips); // the error display invalid argument.
MessageBox.Show(addr);
Run Code Online (Sandbox Code Playgroud)

我知道这听起来很基本.但我是新手,有人能帮帮我吗?

错误:

以下方法或属性之间的调用不明确:'string.Join(string,params object [])'和'string.Join(string,System.Collections.Generic.IEnumerable)'

Sel*_*enç 5

使用ToList方法或显式强制转换:

 string.Join(",", (IEnumerable<IPAddress>)ips);
Run Code Online (Sandbox Code Playgroud)

或者明确指定泛型参数:

string.Join<IPAddress>(",", ips);
Run Code Online (Sandbox Code Playgroud)

编译器无法决定从哪一个中选择哪个重载:string.Join(string, params object[])或者string.Join(string,IEnumerable<IPAdress>)你需要告诉编译器你要明确调用哪个方法.而且你似乎不需要那个foreach循环.