我有一个名为GetSuggestedAddresses的函数,其中有一部分调用返回列表的函数。我的类中还有一个属性是类型列表。我尝试使用AddRange将返回的结果添加到我的属性中,但是它抛出了一个空异常。我试过了这段代码,但我有点迷路了。有什么想法吗?这是我的密码-
public List<ExpressAddressResult> GetSuggestedAddresses(string format = "xml")
{
foreach (RequestArrayRecord address in reqRecords) {
string result = string.Empty;
NameValueCollection collection = new NameValueCollection();
collection.Add("id", AuthKey);
collection.Add("line1", CleanUpAddress(address.AddressLine1));
collection.Add("city", address.City);
collection.Add("state", address.State);
collection.Add("postalcode", address.Zip);
collection.Add("maxrecords", MaxSuggestionResults.ToString());
collection.Add("format", format);
string parameters = GenerateParameters(collection);
Uri serviceAddress = new Uri(RequestURL + parameters);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) {
if (response != null) {
using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) {
result = streamReader.ReadToEnd();
}
}
}
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(result);
List<ExpressAddressResult> results = CreateListFromXml(xmlDoc);
if (results != null) {
AddressSuggestions.AddRange(results); // Throws Null Exception
}
}
return AddressSuggestions; // This is a property of type List<ExpressAddressResult>
}发布于 2016-07-21 15:50:19
var addressSuggestions = new List<ExpressAddressResult>();虽然我认为你只是想返回结果..。它已经转换成了预期的类型。忘记addRange吧
发布于 2016-07-21 15:50:02
实际上要添加范围的列表为null,即AddressSuggestions为null。
因此,在将任何项添加到此列表之前,请确保AddressSuggestions已初始化。
https://stackoverflow.com/questions/38508663
复制相似问题