我正在尝试为我的服务器程序创建配置文件。我正在逐行阅读它,当遇到所需的选项时,我正在处理该行。我必须提取写入文件的IP,但Visual Studio不会让我。 这是处理方法的代码:
////I'm assuming that file is loading is good...
private int processIp()
{
String tempIpAddr = "";
Console.Write("IP");
for (int i = 0; i < readLines.Count; i++)
{
if (readLines[i].Contains("IP"))
{
if(readLines[i].Contains(":"))
{
tempIpAddr = readLines.ElementAt(i).Split(':');
}
}
}
return 0;
}
我收到了这个错误:错误4无法将类型'string []'隐式转换为'string'F:\ DB \ Dropbox \ Repozytoria \ ARDSQL GUI \ Sources \ Configuration.cs 85 38 ARDSQL GUI
我尝试将tempIpAddr
更改为数组并将此readLines.ElementAt(i).Split(':');
更改为此tempIpAddr = readLines[i].Split(':');
如何让它发挥作用?
答案 0 :(得分:3)
String.Split()
的结果是字符串数组string[]
。
将您的声明调整为:
String[] tempIpAddr;
答案 1 :(得分:1)
string.Split()返回一个字符串数组,你试图将它分配给一个不起作用的字符串变量。
如果您知道,IP地址始终是第一个&#39;之后的字符串段:&#39;在线上,并且IP地址后面没有任何内容,您可以修改您的代码:
tempIpAddr = readLines.ElementAt(i).Split(':')[1]
但是相信你的客户是一种可靠的失败方式。而且我至少会在Split()之后做一个Trim()。
(您的代码中还有一些其他问题,但您可能已经意识到这些问题:即您没有返回临时IP地址或使用它执行任何其他操作。)