我已经使用了两个类"地址"和"请求"的Web服务.请求对象的一个属性是地址对象数组:
request _req = new request();
_req.addresses = // expecting address[]
Run Code Online (Sandbox Code Playgroud)
我知道我做错了(因为我不断出现异常错误),所以我希望有人可以帮助我.如何创建地址对象数组并将"_req.addresses"值设置为等于该对象(address [])?当我尝试将城市值设置为等于字符串_q.LocationA.City时,我在第二行上得到"对象引用未设置为实例..."错误...所以这些不起作用:
address[] _address = new address[1];
_address[0].city = _q.LocationA.City;
_address[0].state = _q.LocationA.State;
_address[0].street = _q.LocationA.Address;
_address[0].zipCode = _q.LocationA.Zip;
request _req = new request();
_req.addresses = _address;
Run Code Online (Sandbox Code Playgroud)
我试过这个:
address _address = new address();
_address.city = _q.LocationA.City;
_address.state = _q.LocationA.State;
_address.street = _q.LocationA.Address;
_address.zipCode = _q.LocationA.Zip;
request _req = new request();
_req.addresses[0] = _address;
Run Code Online (Sandbox Code Playgroud)
您的类需要与数组分开实例化.C#不会自动调用您的构造函数,因此这就是您在第一组代码中获得NullPointerException的原因.第二个代码失败是因为你给它一个对象,而不是一个数组.
你基本上需要将两者结合起来:
address[] _address = new address[1];
_address[0] = new address();
_address[0].city = _q.LocationA.City;
_address[0].state = _q.LocationA.State;
_address[0].street = _q.LocationA.Address;
_address[0].zipCode = _q.LocationA.Zip;
request _req = new request();
_req.addresses = _address;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7554 次 |
| 最近记录: |