第一次写C#的代码,本来想套用一下java的书写逻辑,可是在执行到 "PictureConvertResultVo resultVo = FilePictureDict[fileUUid];"这行代码时,报错System.Collections.Generic.KeyNotFoundException。
- public class PictureTransUtil
- {
- private static Dictionary
FilePictureDict = new (); -
- public static PictureConvertResultVo GetFilePictureResult(String fileUUid)
- {
- PictureConvertResultVo resultVo = FilePictureDict[fileUUid];
- return resultVo ;
- }
- }
当尝试使用不存在的键从集合中检索键或键值对时,会抛出这样的异常。
所以我将代码进行了如下的修改
- public class PictureTransUtil
- {
- private static Dictionary
FilePictureDict = new (); -
- public static PictureConvertResultVo GetFilePictureResult(String fileUUid)
- {
- if (!FilePictureDict.ContainsKey(fileUUid))
- {
- FilePictureDict.Add(fileUUid,new PictureConvertResultVo());
- }
- return FilePictureDict[fileUUid];
- }
- }
在获取之前,查询一下有没有这个key,如果有直接返回就好了。我也不太知道有没有更好的方法,如果大家有更好的解决方案,我非常需要大神们指导一下。