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吧,看着好理解,找问题也不难。当然,前提是你把异常机制搞清楚了。