大家好,我有一个班级,我创建了一个keyvaluepair。
if (reader.HasRows)
{
reader.Read();
string content = reader["ContentText"].ToString();
siteContent.Add(new KeyValuePair<string,string>("contentText",content));
siteContent.Add(new KeyValuePair<string,string>("pageTitle",reader["PageTitle"].ToString()));
siteContent.Add(new KeyValuePair<string,string>("meta",reader["Meta"].ToString()));
siteContent.Add(new KeyValuePair<string, string>("menuId", reader["MenuId"].ToString()));
siteContent.Add(new KeyValuePair<string, string>("cssFile", reader["CssFile"].ToString()));
siteContent.Add(new KeyValuePair<string, string>("accessLevel", reader["AccessLevel"].ToString()));
return siteContent;
}
有没有一种方法可以不通过它来获得类似
的值string content = siteContent["contentText"].ToString();
由于
答案 0 :(得分:1)
我假设siteContent为List<KeyValuePair<string,string>>
,因此您可以选择keyvaluepair with key&#34; contentText&#34;并获得它的价值
string content = siteContent.First(x=>x.Key=="contentText").Value;
您始终可以将List<KeyValuePair<string,string>>
存储为Dictionary<string,string>
,然后将其用作
var siteContentDict = siteContent.ToDictionary((keyItem) => keyItem.Key, (valueItem) => valueItem.Value);
string content = siteContentDict["contentText"];
答案 1 :(得分:0)
如果您已经使用字典,则Dictionary可以存储键值对并获取键值。
foreach( KeyValuePair<string, string> kvp in myDictionary )
{
Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
答案 2 :(得分:0)
siteContent
可能是List<KeyValuePair<string,string>>
,我认为如果将其转换为Dictionary<string,string>
会更容易使用它:
Dictionary<string, string> siteContentDict= siteContent.ToDictionary(s => s.Key, s => s.Value);
string content = siteContentDict["contentText"];
您可以根据需要重复使用此词典,以便轻松访问您的值。