发送到 Web 服务方法时,在 C# 中使用数组或将列表转换为数组之间有什么区别吗?
Is there any difference between using Arrays or converting a list to an Array in C# when sending to a web service method?
这个问题可能类似于已经回答过一次,但我的问题是关于在接受对象数组时将数组或 List.ToArray() 发送到 Web 服务的方法。
那么问题来了:
我需要将程序数组发送到 web service
。
根据服务定义,我需要发送到 Web 服务的主要对象具有以下 wsdl
类型:
<xsd:element name="Pgms" type="ns1:ArrayOfPrograms" nillable="true" minOccurs="0"/>
下面的代码有什么区别吗:
第一个选项:
List<string> programList = insertRow["programName"].ToString().Trim().Split(',').ToList();
Program [] programArray = new Program[programList.Count];
foreach(var program in programList)
{
Program programObj = new Program();
programObj.Item1 = item1;
programObj.Item2 = program.ToString().Trim();
for(int i = 0; i <= programList.Count; i++)
{
programArray[i] = programObj;
}
}
webserviceMethod.send(mainObject);
第二个选项:
List<string> programList = insertRow["programName"].ToString().Trim().Split(',').ToList();
List<Program> programList = new List<Program>();
foreach(var program in programList)
{
Program programObj = new Program();
programObj.Item1 = item1;
programObj.Item2 = program.ToString().Trim();
programList.Add(programObj);
}
programList.ToArray();
webserviceMethos.send(mainObject);
我需要使用哪个选项来发送到服务?
列表由数组支持。通过遍历列表或在 List<T>
上调用 ToArray() 来填充数组 T[]
将在末尾产生对象 T[]
的相同结果。
就我个人而言,我更喜欢将项目添加到列表中,然后调用数组,但这两种方法都可以。
然而,您提供的两个示例都存在多个问题,这些问题实际上可能出在问题所在,而不是哪个方法会生成要发送到 Web 服务的数组。
这个问题可能类似于已经回答过一次,但我的问题是关于在接受对象数组时将数组或 List.ToArray() 发送到 Web 服务的方法。
那么问题来了:
我需要将程序数组发送到 web service
。
根据服务定义,我需要发送到 Web 服务的主要对象具有以下 wsdl
类型:
<xsd:element name="Pgms" type="ns1:ArrayOfPrograms" nillable="true" minOccurs="0"/>
下面的代码有什么区别吗:
第一个选项:
List<string> programList = insertRow["programName"].ToString().Trim().Split(',').ToList();
Program [] programArray = new Program[programList.Count];
foreach(var program in programList)
{
Program programObj = new Program();
programObj.Item1 = item1;
programObj.Item2 = program.ToString().Trim();
for(int i = 0; i <= programList.Count; i++)
{
programArray[i] = programObj;
}
}
webserviceMethod.send(mainObject);
第二个选项:
List<string> programList = insertRow["programName"].ToString().Trim().Split(',').ToList();
List<Program> programList = new List<Program>();
foreach(var program in programList)
{
Program programObj = new Program();
programObj.Item1 = item1;
programObj.Item2 = program.ToString().Trim();
programList.Add(programObj);
}
programList.ToArray();
webserviceMethos.send(mainObject);
我需要使用哪个选项来发送到服务?
列表由数组支持。通过遍历列表或在 List<T>
上调用 ToArray() 来填充数组 T[]
将在末尾产生对象 T[]
的相同结果。
就我个人而言,我更喜欢将项目添加到列表中,然后调用数组,但这两种方法都可以。
然而,您提供的两个示例都存在多个问题,这些问题实际上可能出在问题所在,而不是哪个方法会生成要发送到 Web 服务的数组。