c#中文件后缀生成的前缀
本文关键字:前缀 后缀 中文 文件 | 更新日期: 2023-09-27 18:17:05
我正在为一个应用程序编写一个文件生成器模块,该应用程序将数据集和文件名传递给该应用程序以生成excel, pdf或csv。我正在考虑传递一个模板文件名,通过它我应该知道文件名是否需要前缀或后缀日期,而不是假设总是添加日期后缀。我可以编写代码来查找MM或DD或YY或YYYY,并建立一个文件名,但想知道这是否可以更好地处理?非常感谢您的建议!
这就是我喜欢使用Flags
枚举的原因。它们允许对同一个枚举进行多个设置,同时保留使用枚举的好处。此外,可以通过向枚举中添加新值(它必须是2的幂,所以如果在我的示例中添加新值,它的值将为4),然后在必要时为该设置创建逻辑来解释出现的任何其他需求。
一个使用控制台应用程序的快速示例:
public class Class1
{
[Flags]
private enum DateTypeRequired : byte
{
Prefix = 1,
Suffix = 2
}
public static void Main(string[] args)
{
string myFileName = "test.xls";
var settings = DateTypeRequired.Prefix | DateTypeRequired.Suffix;
AppendDateToFile(ref myFileName, settings);
Console.Write(myFileName);
Console.ReadKey();
}
private static void AppendDateToFile(ref string fileName, DateTypeRequired datesNeeded)
{
if ((datesNeeded & DateTypeRequired.Prefix) == DateTypeRequired.Prefix)
{
fileName = string.Concat(DateTime.Now.ToString("ddmmyyyy"), fileName);
}
if ((datesNeeded & DateTypeRequired.Suffix) == DateTypeRequired.Suffix)
{
string[] fileParts = fileName.Split(new char[]{'.'});
fileName = string.Concat(fileParts[0],
string.Concat(DateTime.Now.ToString("ddmmyyyy.")), fileParts[1]);
}
}
}