【发布时间】:2013-07-08 20:45:39
【问题描述】:
我想在我的方法中返回一个 OrderedDictionary,但我的代码有错误...
我不知道为什么我不能这样做:
public OrderedDictionary getAllPortsInformations()
{
OrderedDictionary SerialPort = filtreXml("/catalog/cd/SerialPort", "SerialPort");
OrderedDictionary BaudRate = filtreXml("/catalog/cd/BaudRate", "BaudRate");
OrderedDictionary DataBits = filtreXml("/catalog/cd/DataBits", "DataBits");
OrderedDictionary StopBits = filtreXml("/catalog/cd/StopBits", "StopBits");
OrderedDictionary ParityBits = filtreXml("/catalog/cd/ParityBits", "ParityBits");
OrderedDictionary ReadTimeout = filtreXml("/catalog/cd/ReadTimeout", "ReadTimeout");
OrderedDictionary WriteTimeout = filtreXml("/catalog/cd/WriteTimeout", "WriteTimeout");
OrderedDictionary PinCode = filtreXml("/catalog/cd/PinCode", "PinCode");
OrderedDictionary output = new OrderedDictionary();
foreach (DictionaryEntry sp in SerialPort)
output.Add(sp.Key, sp.Value);
foreach (DictionaryEntry br in BaudRate)
output.Add(br.Key, br.Value);
foreach (DictionaryEntry db in DataBits)
output.Add(db.Key, db.Value);
foreach (DictionaryEntry sb in StopBits)
output.Add(sb.Key, sb.Value);
foreach (DictionaryEntry pb in ParityBits)
output.Add(pb.Key, pb.Value);
foreach (DictionaryEntry rt in ReadTimeout)
output.Add(rt.Key, rt.Value);
foreach (DictionaryEntry wt in WriteTimeout)
output.Add(wt.Key, wt.Value);
foreach (DictionaryEntry pc in PinCode)
output.Add(pc.Key, pc.Value);
return output;
}
错误信息
错误:错误 1 'application.Xml.getAllPortsInformations ()':所有代码路径不一定都返回值
【问题讨论】:
-
您遇到的错误是什么,哪一行?您在发布示例时是否在返回输出之前忘记了
output.Add(pc.Key, pc.Value);,还是您遇到的错误? -
最后一个 foreach 语句是错字吗?
-
@ScottChamberlain,他在最后一个
foreach返回输出的时候做对了 :) -
添加了
output.Add(pc.Key, pc.Value);后,您是否仍然收到错误消息?如果是这样,你需要在你的函数中包含所有代码,你会遗漏一些东西。
标签: c# .net ordereddictionary