【发布时间】:2023-01-30 21:00:34
【问题描述】:
我试图在我的函数中删除 if-else 语句,因此我不需要指定每个可能的驱动器。在这种情况下,我正在读取一个 .csv 文件。有什么办法可以避免 if-else 的挣扎。
提前致谢!
我现在的代码:
if (str == "(D:)")
{
csvPath = @"D:\file1.CSV";
try
{
using (var fs = File.Open(csvPot, FileMode.Open, FileAccess.Read, FileShare.Read))
{
var csvFileDescription = new CsvFileDescription
{
FirstLineHasColumnNames = true,
IgnoreUnknownColumns = true,
SeparatorChar = ',',
UseFieldIndexForReadingData = false
};
var csvContext = new LINQtoCSV.CsvContext();
var settings = csvContext.Read<Settings>(csvPot, csvFileDescription);
foreach (var setting in settings)
{
tbx_ssid.Text = setting.SSID;
tbx_pass.Text = setting.password;
}
if (tbx_ssid.Text == "" && tbx_pass.Text == "")
{
MessageBox.Show("No data!");
}
}
}
catch (FileNotFoundException)
{
MessageBox.Show("File not exsists!");
}
}
else if (str == "(E:)")
{
.
.
.
【问题讨论】:
-
所以你基本上需要根据选择的驱动器更改文件路径?
-
csvPath = $@"${str}/file1.csv";? -
@steve 就像你说的!以及如何指定选择哪个驱动器...