System.IO.Path.ChangeExtension 方法

方法描述

更改路径字符串的扩展名。

语法定义(C# System.IO.Path.ChangeExtension 方法 的用法)

public static string ChangeExtension(
	string path,
	string extension
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要修改的路径信息。该路径不能包含在 GetInvalidPathChars 中定义的任何字符。
extension System-String 新的扩展名(有或没有前导句点)。指定 null 以从 path 移除现有扩展名。
返回值 System.String 已修改的路径信息。 在基于 Windows 的桌面平台上,如果 path 是 null 或空字符串 (""),则返回的路径信息是未修改的。 如果 extension 是 null,则返回的字符串包含指定的路径,其扩展名已移除。 如果 path 不具有扩展名,并且 extension 不是 null,则返回的路径字符串包含 extension,它追加到 path 的结尾。

提示和注释

如果 path 和 extension 都不包含句点 (.),则 ChangeExtension 添加句点。

extension 参数可以包含多个句点和任何有效的路径字符,并且可以是任何长度。 如果 extension 是 null,则返回的字符串包含 path 的内容,而其最后一个句点以及句点后的所有字符均被移除。

如果 extension 是空字符串,则返回的路径字符串包含 path 的内容,其最后一个句点后的所有字符均被移除。

如果 path 不具有扩展名并且 extension 不是 null,则返回的字符串包含 path,后跟 extension。

如果 extension 不是 null 并且不包含前导句点,则添加句点。

如果 path 包含由多个句点分隔的多个扩展名,则返回的字符串包含 path 的内容,其最后一个句点以及句点之后的所有字符均由 extension 代替。 例如,如果 path 是“\Dir1\examples\pathtests.csx.txt”并且 extension 是“cs”,则修改后的路径是“\Dir1\examples\pathtests.csx.cs”。

不可能验证返回的结果是否在所有方案中都有效。 例如,如果 path 为空,则追加 extension。

有关通用 I/O 任务的列表,请参见通用 I/O 任务。

System.IO.Path.ChangeExtension 方法例子

下面的代码示例演示 ChangeExtension 方法的用法。

using System;
using System.IO;

public class PathSnippets
{

    public void ChangeExtension()
    {
        string goodFileName = @"C:\mydir\myfile.com.extension";
        string badFileName = @"C:\mydir\";
        string result;

        result = Path.ChangeExtension(goodFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
            goodFileName, result); 

        result = Path.ChangeExtension(goodFileName, "");
        Console.WriteLine("ChangeExtension({0}, '') returns '{1}'", 
            goodFileName, result); 

        result = Path.ChangeExtension(badFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", 
            badFileName, result); 

        // This code produces output similar to the following:
        //
        // ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
        // ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
        // ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'

异常

异常 异常描述
ArgumentException path 包含 GetInvalidPathChars 中已定义的一个或多个无效字符。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。