Dictionary 使用webservice返回字典

Dictionary 使用webservice返回字典,dictionary,c#-3.0,streamreader,Dictionary,C# 3.0,Streamreader,我正在寻找一些帮助,在Web服务中使用csv文件填充字典,但是我无法返回结果 我试图将字典分成两个独立的列,这似乎有效,但我无法返回值,因为有两个而不是一个 代码如下: { StreamReader streamReader = new StreamReader("T:/4 Year WBL/Applications Development/Coursework 2/2b/Coursework2bwebservice/abrev.csv"); [WebMethod] p

我正在寻找一些帮助,在Web服务中使用csv文件填充字典,但是我无法返回结果

我试图将字典分成两个独立的列,这似乎有效,但我无法返回值,因为有两个而不是一个

代码如下:

{
    StreamReader streamReader = new StreamReader("T:/4 Year WBL/Applications Development/Coursework 2/2b/Coursework2bwebservice/abrev.csv");

    [WebMethod]
    public string Dictionary()
    {
        string  line;
       Dictionary<string, string> dictionary = new Dictionary<string,string>();
       while ((line =  streamReader.ReadLine()) !=null)
       {
       string[] columns = line.Split(','); 
       dictionary.Add(columns[0], columns[1]);

       return dictionary;    
       }
    }
{
StreamReader StreamReader=新的StreamReader(“T:/4年WBL/应用程序开发/课程作业2/2b/课程作业2Bwebservice/abrev.csv”);
[网络方法]
公共字符串字典()
{
弦线;
字典=新字典();
而((line=streamReader.ReadLine())!=null)
{
string[]columns=line.Split(',');
添加(列[0],列[1]);
返回字典;
}
}
我收到错误“无法隐式转换类型
System.Collections.Generic.Dictionary”

任何想法都很好,谢谢你抽出时间

public string Dictionary()
正在返回错误的签名。您需要返回实际的字典:

public Dictionary<string, string> Dictionary()
似乎有点奇怪。您还在循环中返回您的
词典
。让我们试试:

line = streamReader.Readline();
while (line !=null)
{
   string[] columns = line.Split(','); 
   dictionary.Add(columns[0], columns[1]);
   line = streamReader.Readline();
}
return dictionary;  

综上所述,在web方法中返回实际的dictionary对象可能没有多大意义。您真正想要的是一个XML序列化的字典或列表。请参阅此处:了解更多信息。

非常感谢,这非常有帮助并解决了问题。尽管正如您所说,由于web服务不接受dictionary对象,这是不正确的屁股。我将查看序列化xml字典并从那里开始。再次感谢您。
line = streamReader.Readline();
while (line !=null)
{
   string[] columns = line.Split(','); 
   dictionary.Add(columns[0], columns[1]);
   line = streamReader.Readline();
}
return dictionary;