日期:2014-05-18  浏览次数:20672 次

return反会的一难题
C# code
public int this[string aname] 
{

get
{
foreach(DictionaryEntry d in name)
{
if(d.Value.ToString () ==aname)
return Convert.ToInt32 (d.Key );
}
return -1;
}
set{name.Add (value,aname);}
}


以上代码中为什么要返回 return -1; 搞不明白?????

------解决方案--------------------

没有这句,编译会出错,因为有的条件下没有返回值

看上去,上面的实现的意思是,如果在字典里没有找到对应的键的话,那么就返回-1,作为没有找到的标志
------解决方案--------------------
在name中找不到对应的值,就返回-1表示了
------解决方案--------------------
返回-1几乎是C/C++老师能够告诉你的考试题答案了,但是做Java或者C#,有机会的话,还是用Exception吧,看着好理解,找问题也不难。当然,前提是你把异常机制搞清楚了。