c#将文本文件添加到二维数组

c#将文本文件添加到二维数组,c#,arrays,C#,Arrays,我试图读取一个文本文件,其中包含一个二维数组中的代理 文本文件如下所示: 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 如何将ip与端口分离` 因此,我的数组如下所示: 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 00.00.00.00:80 [00.00.00.00][80] 当前代码: public void

我试图读取一个文本文件,其中包含一个二维数组中的代理

文本文件如下所示:

00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
如何将ip与端口分离`

因此,我的数组如下所示:

00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
00.00.00.00:80
[00.00.00.00][80]

当前代码:

public void readProxyList(string FileName)
{
    using (StreamReader sr = new StreamReader(FileName, Encoding.Default))
    {
        string text = sr.ReadToEnd();
        string[] lines = text.Split('\r');

        foreach (string s in lines)
        {

        }
    }
}

如果您不希望文件太大,可以使用来读取每一行。然后要拆分,只需使用“:”作为标记

例如:

var lines = File.ReadAllLines(FileName));
var array = new string[lines.Length,2];
for(int i=0; i < lines.Length; i++)
{
    var temp = lines[i].Split(':');
    array[i,0] = temp[0];
    array[i,1] = temp[1];
}
试试这个:

    public IEnumerable<string> GetProxyList(string FileName)
    {
        string[] allLines = File.ReadAllLines(FileName);
        var result = new List<string>(allLines.Length);

        foreach (string line in allLines)
        {
            var splittedLine = line.Split(':');
            result.Add($"[{splittedLine[0]}][{splittedLine[1]}]");
        }
        return result;
    }
public IEnumerable GetProxyList(字符串文件名)
{
string[]allLines=File.ReadAllLines(文件名);
var结果=新列表(allLines.Length);
foreach(所有行中的字符串行)
{
var splittedLine=line.Split(“:”);
添加($“[{splittedLine[0]}][{splittedLine[1]}]”);
}
返回结果;
}

OP要求的是2d数组,而不是包含现在用方括号括起来的字符串的一维列表。您可能需要一个Trim()调用来去除换行符,否?@Levon-从ReadAllLines的文档中—“生成的字符串不包含终止回车符和/或换行符”,因此我认为在这种情况下没有必要。您可以添加它以确保“安全”,或者如果行中有额外的空格,但是对于换行符,它们应该已经被删除。