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

标签 c# messagebox

我想加入要在消息框中显示的字符串,但不确定为什么会在这一行出现错误:

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/

相关文章:

c# - 如何从动态 C# 代码编译中获取错误信息

c# - 防止 Entity Framework 更新属性

c# - 在 C# 中使用 OLEDB 数据提供程序读取 excel 文件时的 FROM 子句

python - tkinter.Button 在退出事件处理后保留按下状态的外观

c# - 是否可以从现有 DLL 中阻止消息框?

c# - 如果Both Checkboxes flag false怎么办?

c# - 是否可以在 .NET 标准 2.0 中显示一个简单的类似于 MessageBox 的通知窗口(仅限 Windows)

c# - 使用来自另一个 UserControl 的 MVVM 启用/禁用按钮

c# - asp.net中的后台进程

c - 在消息框中显示双倍