1

这可能是一个简单的问题,我正在 VS 2012 中编写一个 WinForms C# 应用程序。我想知道是否有办法在文本框中的某些内容中添加 .csv 之类的扩展名。假设用户在 C:\Users\Desktop\filename 中写入,但省略了路径的 .csv 部分。单击执行按钮后,有什么方法可以添加 .csv 吗?

任何帮助将非常感激。

4

2 回答 2

9

您可以使用Path.ChangeExtension.

// Nota bene: Path.ChangeExtension does not change textBox1.Text directly (or any
//            argument given), you MUST use the result if you care about it.
string newPath = Path.ChangeExtension(textBox1.Text, "csv");

句点是可选的,文件名组件不需要包含扩展名。

作为将来的参考,如果您能想到需要对文件或目录的路径做些什么……它存在System.IO.Path. 很少有人不支持该课程中的常见任务。

于 2013-08-05T18:00:02.213 回答
1

如果您不想更改字符串中的有效扩展名,则可以这样做:

// first test for an extension
if(!Path.HasExtension(textBox1.Text.Trim()))
{
    // then add on '.csv' if one does not exist
    string path = Path.ChangeExtension(textBox1.Text.Trim(), ".csv");

    // ... use path ...
}
于 2013-08-05T18:04:12.240 回答