缺少装配参考?

时间:2011-02-21 15:55:27

标签: c# json methods arraylist

我有以下示例方法:

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)

2 个答案:

答案 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));