Pri*_*ice 0 .net c# if-statement
我有一份报纸和杂志清单。精确到1374,我的所有文件都命名为abcd_20190406.xml,其中abcd文件名abbreviaton和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";
}
Run Code Online (Sandbox Code Playgroud)
等等。这是我目前的做法。如果有条件,给予1374。那么,有没有更快或更更好的方法呢?
我曾想过创建一个List<string>并执行此操作,但我不知道如何进行。我什至不知道那是否是正确的方法。
请帮忙。
创建一个类来保存每个出版物的信息,例如:
class PublicationInfo
{
public string Title{ get; set; }
public string Abbreviation{ get; set; }
public string Language{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后使用字典保存所有出版物
var Publications = new Dictionary<string,PublicationInfo>();
Run Code Online (Sandbox Code Playgroud)
并使用缩写作为关键字,用您的数据填充它。然后,您将能够像这样填充文本框:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |