【问题标题】:when used Dictionary How can I get the value if it non nullable value type [duplicate]使用字典时,如果它是不可为空的值类型,我如何获取该值[重复]
【发布时间】:2021-07-11 23:57:25
【问题描述】:

当使用字典时

如果它是不可为空的值类型,我如何获取该值 这段代码

            Dictionary<string, object> DictionaryValues = new Dictionary<string, object>();
            RSAParameters publicKey = Storage.Read(_Path + @"\" + "Key.Public");
            DictionaryValues["publicKey"] = publicKey;


            RSAParameters publicKey2 = new RSAParameters();
            if (DictionaryValues.TryGetValue("publicKey", out object obj))
            {
                publicKey2 = obj as RSAParameters;
                
            }

我收到一个错误,as 运算符必须与引用类型或可为空的类型一起使用 RSAParameters 是不可为空的

如何从字典中获取值 publicKey 请大家帮忙,谢谢大家

【问题讨论】:

标签: c#


【解决方案1】:
//publicKey2 = obj as RSAParameters;
  publicKey2 = (RSAParameters)obj;

【讨论】:

  • 如果您不确定 obj 的类型是否正确,您仍然可以使用 is 运算符 (if (obj is RSAParameters) {...}) 对其进行测试。但只有在类型错误的情况下你可以做一些有意义的事情时才这样做。
  • as RSAParameters?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多