如果您的程序需要此功能,MSDN 建议您使用 OpenFileDialog 类来允许用户选择一个或多个文件。程序员可以选择向此对话框添加一个或多个过滤器,以便仅显示扩展名与所选过滤器匹配的文件。这可以通过设置 OpenFileDialog.Filter 属性来完成。
但是,要做到这一点,您必须创建一个格式正确的字符串,其中包含过滤器所需的信息,如下所示:
dlg.Filter = "Supported Sound Files (*.flac, *.mp3)|*.flac;*.mp3|Flac files (*.flac)|*.flac|MP3 files (*.mp3)|*.mp3";
随着添加更多不同的过滤器,这很快变得相当混乱。
我的问题是,为什么这个属性是一个必须遵循特定格式的字符串?与例如使用 Dictionary<string, string[]> 相比,这样做有什么优势,其中第一个字符串是过滤器的名称,第二个名称是此过滤器支持的文件扩展名数组,或者类似的东西。