我有以下示例方法:
namespace Postcode_webservice
{
public class Business
{
public string getBusinessDossierno(string KVKnr)
{
StringBuilder resultaat = new StringBuilder();
result = myserviceBusiness.businessGetDossierV3(KVKnr);
string city = result.results[0].CorrespondenceCity;
string postcode = result.results[0].CorrespondencePostcode;
resultaat.Append(city);
resultaat.Append(postcode);
return resultaat.ToString();
}
}
public class BusinessInfo
{
public string City { get; set; }
public string PostCode { get; set; }
public string bedrijfsNaam { get; set; }
public string adres { get; set; }
public int huisnr { get; set; }
}
}
这会导致程序集引用错误。 (已添加使用System.Collections.Generic)
答案 0 :(得分:3)
更好取决于您需要使用它。如果你传递这个客户端来填充列表框,那么我更喜欢json。但是,如果要在服务器端使用它,我会坚持使用.Net对象。
作为旁注,为了消除将字符串连接到存储数据的愿望,我将定义一个包含城市和邮政编码的类型,如下所示:
public class MyAddressInfo
{
public string City { get; set; }
public string PostCode {get; set; }
}
然后使用这些数组(或List):
List<MyAddressInfo> myList = new List<MyAddressInfo>();
foreach(var res in result.results)
{
myList.Add(new MyAddressInfo
{
City = res.CorrespondenceCity,
PostCode = res.CorrespondencePostcode
});
}
然后如上所述返回列表。如果需要返回数组,可以执行以下操作:
return myList.ToArray();
这将是MyAddressInfo[]
@Thomas: 根据您的评论,您的方法声明应如下所示:
public MyAddressInfo[] getBusinessDossierno(string KVKnr)
{
// etc.
return myList.ToArray();
}
您在编译时看到的其他错误是什么?
答案 1 :(得分:1)
为什么不从方法中返回KeyValuePair<string, string>
(或更合适的数据结构)的列表?
返回一个联合的城市名称和邮政编码字符串是一种混乱的解决方案,它不会通过返回一组连接值来获得任何整理。
return result.results.Select(r => new KeyValuePair<string, string>(r. CorrespondenceCity, r.CorrespondencePostcode));