c#,Soap,Web服务。将数组的字符串转换为字符串列表,列表<;字符串>;
我正在从事一个webservice项目,在该项目中,我使用sqlserver从特定数据库提取数据,然后将其发送到一个或多个客户端,如Java应用程序和C#forms。现在,我正在将方法连接到一个C#表单,而我在将arrayofstring从xml转换或反序列化为C#中的列表时遇到了麻烦 我已经完成了转换方法,但在我的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) {
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
我的代理控制器:
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