当目录中没有文件时,我希望避免函数GetListCsvFiles()返回null
本文关键字:函数 GetListCsvFiles null 返回 我希望 文件 | 更新日期: 2023-09-27 18:00:47
当目录中没有文件时,我想避免函数GetListCsvFiles ()
返回null。
我可以添加一个测试,但如果可能的话,我想避免。
using System;
using NLog;
namespace ConsoleApplication1
{
class Program
{
private static Logger report = LogManager.GetLogger("EventReport");
static void Main(string[] args)
{
report.Info("Start Program");
EveryQuotesDB everyQuotesDB = new EveryQuotesDB();
//string[] csvFiles = everyQuotesDB.GetListCsvFiles(@"C:'DirectoryCsvFiles");
string[] csvFiles = everyQuotesDB.GetListCsvFiles(@"C:'DirectoryEmpty");
foreach (string file in csvFiles)
{
report.Info(file);
};
report.Info("End Program");
Console.ReadLine();
}
}
}
using System.IO;
using NLog;
namespace ConsoleApplication1
{
class EveryQuotesDB
{
private static Logger report = LogManager.GetLogger("EventReport");
public string[] GetListCsvFiles(string directoryCsvFiles)
{
string[] csvFiles = null;
try
{
csvFiles = Directory.GetFiles(directoryCsvFiles, "*.csv");
}
catch (DirectoryNotFoundException)
{
report.Fatal("Directory Not Found : " + directoryCsvFiles);
}
return csvFiles;
}
}
}
替换此行:
string[] csvFiles = null;
这个:
string[] csvFiles = new string[0];
这将使默认值成为一个空字符串数组,而不是null。
你可以做:
而不是
return csvFiles;
进行
return csvFiles ?? new string[0];
??是检查dsvFiles是否为null,然后返回,否则返回一个空数组。