Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#,Soap,Web服务。将数组的字符串转换为字符串列表,列表<;字符串>;_C#_Xml_Soap_Soap Client - Fatal编程技术网

c#,Soap,Web服务。将数组的字符串转换为字符串列表,列表<;字符串>;

c#,Soap,Web服务。将数组的字符串转换为字符串列表,列表<;字符串>;,c#,xml,soap,soap-client,C#,Xml,Soap,Soap Client,我正在从事一个webservice项目,在该项目中,我使用sqlserver从特定数据库提取数据,然后将其发送到一个或多个客户端,如Java应用程序和C#forms。现在,我正在将方法连接到一个C#表单,而我在将arrayofstring从xml转换或反序列化为C#中的列表时遇到了麻烦 我已经完成了转换方法,但在我的Web服务中,它看起来像: public List<List<string>> Converter(SqlDataReader sdr) {

我正在从事一个webservice项目,在该项目中,我使用sqlserver从特定数据库提取数据,然后将其发送到一个或多个客户端,如Java应用程序和C#forms。现在,我正在将方法连接到一个C#表单,而我在将arrayofstring从xml转换或反序列化为C#中的列表时遇到了麻烦

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

    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;
    }
公共列表转换器(SqlDataReader sdr) { 如果(sdr!=null) { 列表=新列表(); while(sdr.Read()) { List tmp=新列表(); 对于(int i=0;i 此方法转换器将我的ArrayOfString转换为
列表
,但一旦我在代理或控制器中调用该方法,它将返回ArrayOfString

我的代理控制器:

   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);
        }
        
    }
   
}
类控制器
{
WebService1SoapClient=新的WebService1SoapClient();
公共列表GetAllKeys()
{
列表=新列表();
List tmp=新列表();

var obj=client.GetAllKeys();///看看这是否有帮助:谢谢ref,但它对我没有帮助我还在挣扎@SamiSee如果有帮助:谢谢ref,但它对我没有帮助我还在挣扎@Sami