gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:24:22 25 4
gpt4 key购买 nike

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

文本文件如下所示:

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]

当前代码:

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)
{

}
}
}

最佳答案

如果您不希望文件太大,您可以使用 File.ReadAllLines阅读每一行。然后拆分,只需使用 String.Split使用“:”作为您的标记。

示例:

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];
}

编辑

如果您预计文件可能会很大,请不要使用 ReadAllLines你可以使用 File.ReadLines .此方法返回 IEnumerable<string>并且不会一次读取整个文件。在这种情况下,我可能会选择放弃二维数组并创建一个简单的类(将其称为 IpAndPort 或类似名称)并创建一个列表。

例子:

public sealed class IpAndPort
{
public string Ip { get; private set; }
public string Port { get; private set; }
public IpAndPort (string ip, string port)
{
Ip = ip;
Port = port;
}
}

var list = new List<IpAndPort>();
foreach(var line in File.ReadLines(FileName))
{
var temp = line.Split(':');
list.Add(new IpAndPort(temp[0], temp[1]);
}

关于c# 将文本文件添加到二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41302037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com