Dictionary(一)
// <summary>
/// 一般用法
/// </summary>
public static void DictionaryDemo001()
{
Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add(1, "111");
dict.Add(2, "222");
//判断是否存在相应的key并显示
if (dict.ContainsKey(2))
{ Console.WriteLine(dict[2]); }
//遍历Keys
foreach (var item in dict.Keys)
{ Console.WriteLine("Key:{0}", item); }
//遍历Values
foreach (var item in dict.Values)
{ Console.WriteLine("value:{0}", item); }
//遍历整个字典
foreach (var item in dict)
{ Console.WriteLine("key:{0} value:{1}", item.Key, item.Value); }
}
/// <summary>
/// 参数为其它类型
/// </summary>
public static void DictionaryDemo002()
{
Dictionary<string, string[]> dict = new Dictionary<string, string[]>();
dict.Add("1", "1,11,111".Split(','));
dict.Add("2", "2,22,222".Split(','));
Console.WriteLine(dict["2"][2]);
}
public static void DictionaryDemo003()
{
IDictionary<int, yongfa365> dict = new Dictionary<int, yongfa365>();
for (int i = 0; i < 10; i++)
{
yongfa365 y = new yongfa365();
y.UserCode = i;
y.UserName = "www.yongfa365.com " + i.ToString();
dict.Add(i, y);
}
foreach (var item in dict)
{
Console.WriteLine("{0} One:{1} UserName:{2}", item.Key, item.Value.UserCode, item.Value.UserName);
}
}
}
public class yongfa365
{
public int UserCode { get; set; }
public string UserName { get; set; }
}
*****************************************************************************
public IDictionary<string, string> GetDic(string xml)
{
IDictionary<string, string> dit = new Dictionary<string, string>();
string[] arrays = xml.Split(';');
foreach (string item in arrays)
{
string[] param = item.Split(':');
if (param[0] != null && param[1] != null)//注意:必须key值和Value值都存在才可加入
{
dit.Add(param[0], param[1]);
}
}
return dit;
}
public User GetUser(IDictionary<string, string> dit)
{
user = new User();
credit = new UserCredit();
IEnumerator<KeyValuePair<string, string>> dem = dit.GetEnumerator();
while (dem.MoveNext())
{
string name = dem.Current.Key;
string value = dem.Current.Value;
switch (name)
{
case "user_id": user.UserId = Convert.ToInt64(value); break;
case "type": user.Type = value; break;
case "sex": user.Sex = value; break;
case "nick": user.Nick = value; break;
case "created": user.Created = value; break;
case "total_num": credit.TotalNum = Convert.ToInt64(value); break;
case "score": credit.Score = Convert.ToInt64(value); break;
default: break;
}
}
return user;
}
public User GETUser(IDictionary<string, string> dit)
{
user = new User();
credit = new UserCredit();
Dictionary<string, string> dic = new Dictionary<string, string>(dit.Count);
foreach (KeyValuePair<string, string> kvp in dic)
{
string name = kvp.Key;
switch (name)
{
case "type": user.Type = kvp.Value ; break;
case "sex": user.Sex = kvp.Value; break;
case "nick": user.Nick = kvp.Value; break;
case "created": user.Created =kvp.Value; break;
default: break;
}
}
return user;
}
public string Test(IDictionary<string, string> dit)
{
string KV = null;
Dictionary<string, string> dic = new Dictionary<string, string>(dit.Count);
foreach (var item in dic)//注意:值为空的情况
{
KV +="键:"+ item.Key + "值:"+item.Value;
}
//foreach (var value in dic.Values)
//{
// KV += "值的集合:" + value;
//}
return KV;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述