我想用c#创建一个函数,为我返回IP和端口列表,该函数是这样的:
public Tuple<string,int> loadSocks()
{
var listip = new List<string>();
var listprt = new List<int>();
var input = Path.GetFullPath(Path.Combine(Application.StartupPath, "Exploit1/socks-list.txt"));
var r = new Regex(@"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})");
foreach (Match match in r.Matches(input))
{
string ip = match.Groups[1].Value;
int port = Convert.ToInt32(match.Groups[2].Value);
listip.Add(ip);
listprt.Add(port);
Tuple<List<string>, List<int>> tplLst = new Tuple<List<string>, List<int>>(listip, listprt);
Tuple<string, int> tplSum = Add(tplLst);
}
return tplLst;
}
我使用元组,我在这个元组中添加了拖曳列表,但是他给我元组中的错误tplSum = Add(tplLst); 在Add(tplLst)中。
我该做什么 ?
我建议简化您的代码。不是使用通常会降低可读性的元组,而是根据您的目的创建一个类型。
public class BiningInfo
{
public IPAddress IpAddress { get; set;}
public int Port { get; set;}
}
public List<BiningInfo> loadSocks()
{
var result = new List<BiningInfo>();
var input = Path.GetFullPath(Path.Combine(Application.StartupPath, "Exploit1/socks-list.txt"));
var r = new Regex(@"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})");
foreach (Match match in r.Matches(input))
{
string ip = match.Groups[1].Value;
int port = Convert.ToInt32(match.Groups[2].Value);
BiningInfo bi = new BiningInfo();
bi.IpAddress = IPAddress.Parse(ip);
bi.Port = port;
}
return result;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句