我想加入要在消息框中显示的字符串,但不确定为什么会在这一行出现错误:
IPAddress[] ips = Dns.GetHostAddresses(he.HostName);
var addr = string.Join(",",ips); // the error display invalid argument.
MessageBox.Show(addr);
我知道这听起来很基础。但我是新手,有人可以帮助我吗?
错误:
The call is ambiguous between the following methods or properties: 'string.Join(string, params object[])' and 'string.Join(string, System.Collections.Generic.IEnumerable)'
最佳答案
使用 ToList
方法或显式强制转换:
string.Join(",", (IEnumerable<IPAddress>)ips);
或者显式指定泛型参数:
string.Join<IPAddress>(",", ips);
编译器无法决定它应该从以下之一中选择哪个重载:string.Join(string, params object[])
或 string.Join(string,IEnumerable<IPAdress>)
所以你需要告诉编译器你想显式调用哪个方法。而且你似乎不需要那个foreach
循环。
关于c# - 如何 string.Join GetHostAddresses 调用的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123780/