Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法隐式转换类型';System.Uri';至';System.Collections.Generic.List<;字符串>';错误_C#_Asp.net - Fatal编程技术网

C# 无法隐式转换类型';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")

我正在使用HTML敏捷性来获取所有图像,因为图像并不总是有绝对路径,我正在尝试执行以下操作。但代码中下面标记的行会生成错误

无法将类型“System.Uri”隐式转换为“System.Collections.Generic.List”

我不知道如何解决这个问题,我尝试了很多选择,但不断得到一个或另一个错误

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的解决方案,请参见我的答案)。