c#,Soap,webservice。将String的字符串,stringsofarray转换为字符串List,List <string>

时间:2017-02-24 21:45:09

标签: c# xml soap soap-client

我需要帮助,我正在开发一个web服务项目,我使用sql-server从特定数据库中提取数据,然后将其发送到一个或多个客户端,如Java应用程序和C#表单。现在我将方法连接到C#表单并且我无法转换,或者换句话说,将arrayofstring从xml反序列化为c#中的List。

我已经完成了转换方法,但它在我的webservice中,它看起来像:

    public List<List<string>> Converter(SqlDataReader sdr)
    {
        if (sdr != null)
        {
            List<List<string>> list = new List<List<string>>();
            while (sdr.Read())
            {
                List<string> tmp = new List<string>();

                for (int i = 0; i < sdr.FieldCount; i++)
                {
                    string parameter = "";
                    try
                    {
                        if (sdr.GetFieldType(i) == typeof(string))
                        {
                            parameter = sdr.GetString(i);
                        }
                        if (sdr.GetFieldType(i) == typeof(int))
                        {

                            parameter = sdr.GetInt32(i).ToString();

                        }
                    }
                    catch (SqlException e)
                    {
                        Debug.WriteLine(e.Message);
                    }

                    tmp.Add(parameter);

                }

                list.Add(tmp);
            }

            return list;
        }

        return null;
    }

此方法转换器会将我的arrayofstrings转换为List,但是一旦我在我的代理或控制器中调用该方法,它就会返回到ArrayOfStrings。

My Proxy aka Controller:

   class Controller
{
    WebService1SoapClient client = new WebService1SoapClient();


    public List<List<string>> GetAllKeys()
      {
        List<List<string>> list = new List<List<string>>();
        List<string> tmp = new List<string>();
        var obj = client.GetAllKeys();///<--- when the method is called it should be List<string> type
     //but the WebService1SoapClient client = new WebService1SoapClient();  wont let the convert List<string> go through.

        foreach (var item in obj) // 
        {
            tmp.Add(item.ToString());
        }
        list.Add(tmp);
        return list;
      } 

    private void getListStrings()
    {

        List<string> list = client.GetAllKeys().ToList<string>();
        // cannot convert ArrayOfString to List<string> (what I want to do).


        List<string> list = new List<String>(arr);
        foreach (string item in client.GetAllKeys())
        {
            list.Add(item);
        }

    }

}

}

请注意,控制器在另一个解决方案中运行两个可视工作室或解决方案1.Webservice和2.我的c#win应用程序,我的控制器在哪里。

如何将ArrayOfstrings转换为List ??

谢谢我提前!

0 个答案:

没有答案