C#6.0正在获取语法的列表错误,'';
本文关键字:错误 列表 获取 语法 C#6 | 更新日期: 2023-09-27 18:26:08
我正在分析一个网页,遇到的问题是["www.abc.com/"]和["www.def.com/"]=new List()得到了一个"预期的语法错误"。我创建了一个为HtmlTarget public string Id { get; set; } public Action<HtmlElement> Action { get; set; }
设置属性的类,有人有什么建议吗?
public void Spider(string sURL, HtmlDocument doc, int choice)
{
var urlTargets = new Dictionary<string, List<HtmlTarget>>
{
["www.abc.com/"] = new List<HtmlTarget>()
{
new HtmlTarget
{
Id = "search",
Action = e => e.SetAttribute("value", m_sMfgPartNbr)
},
new HtmlTarget
{
Id = "submit",
Action = e => e.InvokeMember("Click")
}
},
["www.def.com/"] = new List<HtmlTarget>()
{
new HtmlTarget
{
Id = "part",
Action = e => e.SetAttribute("value", m_sMfgPartNbr)
},
new HtmlTarget
{
Id = "submit",
Action = e => e.InvokeMember("Click")
}
}
};
List<HtmlTargets> targets = null;
if (urlTargets.TryGetValue(url, out targets))
{
var inputs = doc.Body.GetElementsByTagName("input");
foreach (HtmlElement element in inputs)
{
var id = element.GetAttribute("id");
foreach(var target in targets)
{
if (target.Id == id)
target.Action(element);
}
}
}
}
C#之前的正确语法应该是
var urlTargets = new Dictionary<string, List<HtmlTarget>>
{
{ "www.eciaauthorized.com/search", new List<HtmlTarget>()
...
},
{ "www.findchips.com/search", new List<HtmlTarget>()
...
}
}