无法将字符串从列表拆分为两部分

本文关键字:拆分 两部分 列表 字符串 | 更新日期: 2023-09-27 18:00:31

我正在尝试为我的服务器程序创建一个配置文件。我一行一行地读,当遇到想要的选项时,我会处理这行。我必须提取写入文件的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(':');

如何使其发挥作用?

无法将字符串从列表拆分为两部分

String.Split()的结果是一个字符串数组string[]

将您的声明调整为如下所示:

String[] tempIpAddr;

string.Splitt()返回一个字符串数组,而您正试图将其分配给一个字符串变量,这是行不通的。

如果您知道IP地址始终是行上第一个":"后面的字符串段,并且IP地址后面没有任何内容,则可以修改您的代码:

tempIpAddr = readLines.ElementAt(i).Split(':')[1]

但是信任你的客户肯定会失败。我至少会在Split()之后做一个Trim()。

(您的代码中还有一些其他问题,但您可能已经意识到了:即您没有返回临时IP地址或对其进行任何其他操作。)