我有下面的代码,但是当我向payLoad.Files添加更多文件时,它不会给我任何异常,也不会将文件添加到有效负载中。
有人能帮我吗
string xmlTestPayload = XDocument.Load(Path.Combine(HttpRuntime.AppDomainAppPath, @"Services\STestPayload.xml")).ToString();
XmlSerializer serializer = new XmlSerializer(typeof(STestPayload));
STestPayload payLoad = null;
using (var reader = new StringReader(xmlTestPayload))
{
payLoad = (STestPayload)serializer.Deserialize(reader);
}
if (payLoad != null)
{
TestFile[] files = GetDocumentList(DocumentList);
if (files != null && files.Count() > 0)
{
//not working
payLoad.Files.ToList().AddRange(files);
}
}谢谢
发布于 2014-01-22 01:18:02
您要创建一个新列表,但不存储返回值,请尝试如下:
var myList = payLoad.Files.ToList();
myList.AddRange(files);发布于 2018-06-11 14:52:09
您需要将IList转换为List以使用AddRange。当您使用IList时,它不支持AddRange,因此我们使用.ToList(),其中创建了临时列表,并将来自其他列表的元素添加到未知的列表中(我们不知道它的位置,因为它是临时的),这就是为什么我们看不到列表永远得不到附加值的原因。
https://stackoverflow.com/questions/21272284
复制相似问题