C# 无法隐式转换类型';System.Uri';至';System.Collections.Generic.List<;字符串>';错误
我正在使用HTML敏捷性来获取所有图像,因为图像并不总是有绝对路径,我正在尝试执行以下操作。但代码中下面标记的行会生成错误 无法将类型“System.Uri”隐式转换为“System.Collections.Generic.List” 我不知道如何解决这个问题,我尝试了很多选择,但不断得到一个或另一个错误C# 无法隐式转换类型';System.Uri';至';System.Collections.Generic.List<;字符串>';错误,c#,asp.net,C#,Asp.net,我正在使用HTML敏捷性来获取所有图像,因为图像并不总是有绝对路径,我正在尝试执行以下操作。但代码中下面标记的行会生成错误 无法将类型“System.Uri”隐式转换为“System.Collections.Generic.List” 我不知道如何解决这个问题,我尝试了很多选择,但不断得到一个或另一个错误 List<String> imgList = (from x in doc.DocumentNode.Descendants("img")
List<String> imgList = (from x in doc.DocumentNode.Descendants("img")
where x.Attributes["src"] != null
select x.Attributes["src"].Value.ToLower()).ToList<String>();
List<String> AbsoluteImageUrl = new List<String>();
foreach (String element in imgList)
{
AbsoluteImageUrl = new Uri(baseUrl, element); //GIVES ERROR
}
列出imgList=(来自doc.DocumentNode.substands(“img”)中的x)
其中x.Attributes[“src”]!=null
选择x.Attributes[“src”].Value.ToLower()).ToList();
List AbsoluteImageUrl=新列表();
foreach(imgList中的字符串元素)
{
AbsoluteImageUrl=新Uri(baseUrl,元素);//给出错误
}
您可能需要
AbsoluteImageUrl.Add(new Uri(baseUrl, element).ToString());
你可能想要
AbsoluteImageUrl.Add(new Uri(baseUrl, element).ToString());
编译器生成错误,因为
AbsoluteImageUrl
的类型与Uri
的类型不兼容。如果需要将Uri
添加到字符串列表中,则应获取其基础字符串(例如Uri.AbsolutePath
)。在本例中,代码如下所示:
AbsoluteImageUrl.Add(new Uri(baseUrl, element).AbsolutePath);
另一方面,如果您需要一个Uri
列表,请保留原始代码并更改AbsoluteImageUrl
的类型:
List<Uri> AbsoluteImageUrl = new List<Uri>();
编译器生成错误,因为
AbsoluteImageUrl
的类型与Uri
的类型不兼容。如果需要将Uri
添加到字符串列表中,则应获取其基础字符串(例如Uri.AbsolutePath
)。在本例中,代码如下所示:
AbsoluteImageUrl.Add(new Uri(baseUrl, element).AbsolutePath);
另一方面,如果您需要一个Uri
列表,请保留原始代码并更改AbsoluteImageUrl
的类型:
List<Uri> AbsoluteImageUrl = new List<Uri>();
List AbsoluteImageUrl=new List();
foreach(imgList中的字符串元素)
{
添加(新的Uri(baseUrl,元素));
}
列表绝对图像URL=新列表();
foreach(imgList中的字符串元素)
{
添加(新的Uri(baseUrl,元素));
}
好吧,首先确保它做你想要的:)这取决于OP的要求ToString()
还是AbsolutePath
更合适(对于基于AbsolutePath的解决方案,请参见我的答案)。嗯,。好吧,首先确保它做你想要的:)这取决于OP的要求是否ToString()
或AbsolutePath
更合适(对于基于AbsolutePath的解决方案,请参见我的答案)。