【发布时间】:2012-12-08 14:36:42
【问题描述】:
相关,但不重复(这是一种完全不同的语言,PHP 不是 C#):
How to create multi-dimensional array from a list?
我将如何将 'Tuple's 列表转换为 string[,]?
这是网络爬虫的一部分,但出于好奇,我正在搞乱列表和数组的转换。方法如下。
private string[,] getimages(string url)
{
List<Tuple<string, string>> images = new List<Tuple<string, string>>();
string raw = client.DownloadString(url);
while (raw.Contains("<a class=\"title \" href"))
{
raw = raw.Substring(raw.IndexOf("<a class=\"title \" href"));
String link = raw.Substring(24, raw.IndexOf(">", 24) - 26);
int startname = raw.IndexOf(">", 24) + 1;
int endname = raw.IndexOf("</a> ");
String name = raw.Substring(startname, endname - startname);
images.Add(new Tuple<string, string>(name, link));
raw = raw.Substring(endname);
}
}
我想返回“图像”,但转换为多维数组。
【问题讨论】:
-
你能举一个元组是什么样子的例子吗?我假设
Tuple<string, string>? -
能举个输入输出的例子吗?你试过什么?
-
老实说,您尝试过什么?请给我们一些代码。
-
A
string[,]是一个二维字符串数组,而不仅仅是两个平行的字符串数组。你期望string[,]包含什么?您是否期望/打算将其中一个维度的大小设为 2?此外,大多数 C# 开发人员会看到Tuple<string,string>并理解为“一对字符串”......使用string[,]并不意味着相同的含义。 -
使用合适的 html 解析器为时不晚。您的代码看起来可能随时中断。 HtmlAgilityPack 非常适合这类事情。
标签: c# arrays list multidimensional-array tuples