首页 > 解决方案 > 如何在 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;
}

我想在字典中添加数据。

我的输入数据如下:

输入数据

请帮忙。

问候

标签: c#.netdictionary

解决方案


您可以使用 Add 或 TryAdd 方法:

var abbrevation = "wic";
Publications.Add(abbrevation, new PublicationInfo{
   Title = "Wisden Cricket Monthly",
   Abbrevation = abbreviation,
   Language = "en"
});

推荐阅读