代码之家  ›  专栏  ›  技术社区  ›  gene

当发送到web服务方法时,在C语言中使用数组或将列表转换为数组有什么区别吗?

  •  0
  • gene  · 技术社区  · 9 年前

    所以,问题是:

    我需要将程序数组发送到 web service .

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

    我需要使用哪个选项发送到服务?

    1 回复  |  直到 9 年前
        1
  •  2
  •   RubberChickenLeader    9 年前

    T[] 通过循环遍历列表或在 List<T> 将产生与对象相同的结果 T[]

    就我个人而言,我更喜欢将项目添加到列表中,然后调用数组,但这两种方法都可以。

    然而,您提供的这两个示例都存在多个问题,问题实际上可能出在哪里,而不在于哪个方法将生成一个数组来发送到web服务。