Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AddExtension属性在C#2.0中是如何工作的?_C#_C# 2.0 - Fatal编程技术网

AddExtension属性在C#2.0中是如何工作的?

AddExtension属性在C#2.0中是如何工作的?,c#,c#-2.0,C#,C# 2.0,我想打开一个保存文件对话框,让用户输入一个文件名,如果他们忘记了.csv扩展名,就把它加上 SaveFileDialog AddExtension属性似乎可以工作,但它不能。我甚至将DefaultExt属性设置为.csv,但仍然没有添加任何内容。我的文件保存得很好,但是没有扩展名,所以用户不能双击文件并在Excel中打开它 我肯定错过了一些明显的东西。这是我得到的 SaveFileDialog sfd = new SaveFileDialog(); sfd.Def

我想打开一个保存文件对话框,让用户输入一个文件名,如果他们忘记了.csv扩展名,就把它加上

SaveFileDialog AddExtension属性似乎可以工作,但它不能。我甚至将DefaultExt属性设置为.csv,但仍然没有添加任何内容。我的文件保存得很好,但是没有扩展名,所以用户不能双击文件并在Excel中打开它

我肯定错过了一些明显的东西。这是我得到的

        SaveFileDialog sfd = new SaveFileDialog();
        sfd.DefaultExt = "*.csv";
        sfd.Filter = "Comma Separated(*.csv)|*.*";
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            // Do my file saving
        }
尝试对
DefaultExt
仅使用
“csv”
-此外,您应该使用
这个(它是
IDisposable
):


它不会固定在对话框中的扩展名上,尽管它应该这样做。相反,当对话框关闭时,它会附加到sfd.filename的扩展名。

正如我所怀疑的,我遗漏了一些明显的东西。堆栈溢出,再次进行营救。这可能为我的项目节省了100美元。
        using (SaveFileDialog sfd = new SaveFileDialog())
        {
            sfd.AddExtension = true;
            sfd.DefaultExt = "csv";
            sfd.Filter = "Comma Separated(*.csv)|*.*";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                // Do my file saving
            }
        }