我正在寻找一些帮助,使用WebService中的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;
}
}
我收到错误“无法隐式转换类型System.Collections.Generic.Dictionary<string,string to string>"
任何想法都会很棒,谢谢你的时间。
答案 0 :(得分:0)
public string Dictionary()
返回错误的签名。你需要返回一个实际的字典:
public Dictionary<string, string> Dictionary()
另外,这个
while ((line = streamReader.ReadLine()) !=null)
似乎有点狡猾。您还要在循环中返回dictionary
。让我们试试:
line = streamReader.Readline();
while (line !=null)
{
string[] columns = line.Split(',');
dictionary.Add(columns[0], columns[1]);
line = streamReader.Readline();
}
return dictionary;
所有这一切,在Web方法中返回一个实际的字典对象可能没有多大意义。你真正想要的是一个XML序列化的字典或列表。有关详细信息,请参见此处:https://www.google.com/search?q=return+dictionary+in+web+method。