c# - 如何在 C# 中将数据添加到字典?
问题描述
我有一份报纸和杂志的清单。准确地说是 1374,我所有的文件都命名为 abcd_20190406.xml,其中 abcd 是文件名缩写,20190406 是 yyyyMMdd 格式的日期。
所以我想要的是,如果我按下 WindowsForm 中的按钮,它将在列表中搜索 abcd。如果找到,它将填充它的相应数据,这些数据将在我的表单的 TextBoxes 中提及。
if (Path.GetFileNameWithoutExtension(cboSource.Text).StartsWith("aamfr"))
{
TextBoxPublication.Text = "Anti-âge Magazine";
TextBoxAbbreviation.Text = "aamfr";
TextBoxLanguage.Text="fr";
}
if (Path.GetFileNameWithoutExtension(cboSource.Text).StartsWith("wic"))
{
TextBoxPublication.Text = "Wisden Cricket Monthly";
TextBoxAbbreviation.Text = "wic";
TextBoxLanguage.Text="en";
}
等等。这是我目前的做法。如果条件给出 1374。
我有以下代码:
class PublicationInfo
{
public string Title { get; set; }
public string Abbreviation { get; set; }
public string Language { get; set; }
}
var Publications = new Dictionary<string, PublicationInfo>();
var abbreviation = Path.GetFileNameWithoutExtension(cboSource.Text).Split('_')[0];
if (Publications.ContainsKey(abbreviation))
{
TextBoxPublication.Text = Publications[abbreviation].Title;
TextBoxAbbreviation.Text = abbreviation;
TextBoxLanguage.Text = Publications[abbreviation].Language;
}
我想在字典中添加数据。
我的输入数据如下:
请帮忙。
问候
解决方案
您可以使用 Add 或 TryAdd 方法:
var abbrevation = "wic";
Publications.Add(abbrevation, new PublicationInfo{
Title = "Wisden Cricket Monthly",
Abbrevation = abbreviation,
Language = "en"
});
推荐阅读
- javascript - 异步调度应该使用什么类型?
- python - ZMQ 中的 Req/rep 中的系统调用中断
- mysql - MySQL Join 更新因索引太大而失败
- marklogic - 如何在 MarkLogic 中的 xdmp:spawn-function() 中返回结果
- teradata - Teradata sql查询 - 将当天值与前一天值进行比较
- c# - 如何将 xaml 模板打包成 nuget 包以供其他开发人员重用?
- identityserver4 - 将身份服务器和身份验证保存在单独的项目中
- node.js - React 框架与 Flask 框架的整合
- scrapy - 如何获取scrapy请求的响应
- javascript - Node.js API 中的 PM2 删除函数问题