Path.ChangeExtension(String, String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
變更路徑字串的延伸。
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 任務。