C# 在C语言中安全访问动态值#

C# 在C语言中安全访问动态值#,c#,C#,我正在寻找更好/安全的方法来访问变量时使用动态关键字的想法。大多数时候 myDto.ipaddress = item["ipaddr"]; 非常好,只是有时候这些值没有在json中定义,需要在不引发Null异常的情况下访问 dynamic routes_list = json_serializer.DeserializeObject(System.Web.HttpUtility.UrlDecode(data)); for (int i = 0; i < routes_list["

我正在寻找更好/安全的方法来访问变量时使用动态关键字的想法。大多数时候

 myDto.ipaddress = item["ipaddr"];
非常好,只是有时候这些值没有在json中定义,需要在不引发Null异常的情况下访问

dynamic routes_list = json_serializer.DeserializeObject(System.Web.HttpUtility.UrlDecode(data));

  for (int i = 0; i < routes_list["routes"].Length; i++)
  {
       var item = routes_list["routes"][i]


       System.Collections.Generic.Dictionary<string, object> itemDict = item;              

       // having to repeat this too often
       object snmask= string.Empty;
       itemDict.TryGetValue("snmask", out snmask);
  }
dynamic routes_list=json_serializer.DeserializeObject(System.Web.HttpUtility.UrlDecode(data));
对于(int i=0;i

感谢

明确检查值的存在是完全可以接受的,并且只有在满足您的要求时才继续

我发现在读取您不能完全信任的数据时(这意味着大多数数据来自磁盘、外部服务、本地API或用户输入),验证所有内容是一种很好的做法。