我正在尝试使用C#为学校项目制作一个简单的TVchannel指南。 我做了这个,查看了一个youtube教程:
List<string> programasSPTV1 = new List<string>();
List<string> horasSPTV1 = new List<string>();
WebClient web = new WebClient();
String html = web.DownloadString("http://www.tv.sapo.pt/programacao/detalhe/sport-tv-1");
MatchCollection m1 = Regex.Matches(html, "<a href=\"#\" class=\"pinfo\">\\s*(.+?)\\s*</a>", RegexOptions.Singleline);
MatchCollection m2 = Regex.Matches(html, "<p>\\s*(.+?)\\s*</p>", RegexOptions.Singleline);
foreach(Match m in m1)
{
string programaSPTV1 = m.Groups[1].Value;
programasSPTV1.Add(programaSPTV1);
}
foreach (Match m in m2)
{
string hora_programaSPTV1 = m.Groups[1].Value;
horasSPTV1.Add(hora_programaSPTV1);
}
listBox1.DataSource = programasSPTV1 + horasSPTV1;
最后一行不正确...... :(
我真正需要的是将时间和程序放在同一个盒子里......
像
这样的东西17:45:Benfica-FCPorto
而不是17h45在一个盒子里而Benfica-FCPorto在另一个......:/
我该怎么做?
答案 0 :(得分:0)
假设两个列表中的计数相同,则以下内容应该为您提供所需内容:
listBox1.DataSource = programasSPTV1.Zip(horasSPTV1, (a,b) => (a + " : " + b)).ToList();