我有点新手C#,我正在尝试创建一个switch返回int与给定文件名对应的ID()的方法.
例如:
var fileName = "file-example_MAP_COPY.xml";
var fileTypeId = GetFileTypeId(fileName); // Returns 3310
Run Code Online (Sandbox Code Playgroud)
该GetFileTypeId方法看起来像这样:
private GetFileTypeId(string fileName)
{
switch(string.Contains(fileName))
{
case ".xsd":
return 3010;
case "_Gui.xml":
return 3120;
case ".xml":
return 3300;
case "_MAP_COPY.xml":
return 3310;
...
}
}
Run Code Online (Sandbox Code Playgroud)
我无法修剪实际的文件名,只保留扩展名,因为文件名可能包含下划线.如果在第一个下划线处修剪,则名称为" example_1_MAP_COPY.xml "的文件将被修剪为" _1_MAP_COPY.xml ",从而导致文件扩展名出错.
一个if声明可以在这里工作,但由于我有18个不同的情况,我想找到另一个解决方案,而不是写18个if语句.
有没有什么方法我可以去做这个,switch或许是用语句或字典?