我正在用C#实现一个函数。这是我类中的函数。我需要将值从函数获取到表单。
public void GetRoles(string strGetRoles)
{
string keyObj;
string valueObj;
var parseTree = JsonConvert.DeserializeObject<JObject>(strGetRoles);
foreach (var prop in parseTree.Properties())
{
dynamic propValue = prop.Value;
if (prop.Name == "roles" && prop.Value.HasValues)
{
foreach (var proval in propValue)
{
keyObj = (string)proval.Name;
valueObj = (string)proval.Value;
}
}
else if (prop.Name == "groups" && prop.Value.HasValues)
{
foreach (var proval in propValue)
{
keyObj = (string)proval.Name;
valueObj = (string)proval.Value;
}
}
}
}
strGetRoles 是我在获取 json API 后得到的响应字符串。我得到的 propvalue 是 {"roles": {"3": "经销商","2": "管理员最终用户"},"组": []}
现在我想调用这个函数并获取对象或字符串数组中的每个值。如何返回这些键对值?提前感谢!
你可以像这样返回KeyValuePair:
return new KeyValuePair<string,string>(key,value);
或使用Tuple
return Tuple.Create(key,value);
如果您有多个键值对要返回使用字典,您可以在此处阅读有关元组和键值对之间性能差异的更多信息。简而言之,使用元组是更好的主意,因为它的性能更好。
使用 Tuple<T1, T2>
。
public Tuple<string, string> GetRoles(string strGetRoles)
{
//...
return Tuple.Create(key, value);
}
如果您有多个键值对,则改为返回Dictionary<string, string>
。