語言

Path.ChangeExtension(String, String) 方法

定義

變更路徑字串的延伸。

public:
 static System::String ^ ChangeExtension(System::String ^ path, System::String ^ extension);
public static string ChangeExtension(string path, string extension);
public static string? ChangeExtension(string? path, string? extension);
static member ChangeExtension : string * string -> string
Public Shared Function ChangeExtension (path As String, extension As String) As String

參數

path
String

修改路徑資訊。

extension
String

新的延長(有或無引句點)。 指定null從 中移除一個現有的擴展。path

傳回

修改過的路徑資訊。

在基於Windows的桌面平台上,若path為null或空字串(“”),路徑資訊會以未修改的方式回傳。 若 extension 為 , null則回傳的字串包含移除其延伸的指定路徑。 若 path 沒有擴展,且 extension 不是 null,則回傳路徑字串包含 extension 附加於 的 path末尾。

例外狀況

.NET Framework 與 .NET Core 版本早於 2.1: path 包含一個或多個定義於 GetInvalidPathChars().

範例

以下範例展示了該 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'
Imports System.IO

Public Class PathSnippets
    Public Sub ChangeExtension()
        Dim goodFileName As String = "C:\mydir\myfile.com.extension"
        Dim badFileName As String = "C:\mydir\"
        Dim result As String
        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'

備註

若 且 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 任務的清單,請參見 Common I/O 任務。

適用於

另請參閱