C#-如何将KeyValuePair <string,object>强制转换为KeyValuePair <object,object>?

时间:2019-04-28 00:00:04

标签: c# casting key-value

在C#中,如何将 KeyValuePair <字符串,对象> 强制转换为 KeyValuePair <对象,对象> ?我尝试了以下操作,但不起作用:

public static KeyValuePair<object, object> DoTheCast(KeyValuePair<string, object> the_obj)
{
    return (KeyValuePair<object, object>)the_obj;
}
  

InvalidCastException:无法转换类型的对象   'System.Collections.Generic.KeyValuePair [System.String,System.Object]'   输入   'System.Collections.Generic.KeyValuePair [System.Object,System.Object]'。

1 个答案:

答案 0 :(得分:6)

您将不能播放本身,但是您只能创建一个新的

public static KeyValuePair<object, object> DoTheCast(KeyValuePair<string, object> the_obj)    
     => new KeyValuePair<object, object>(the_obj.Key, the_obj.Value);