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
,則傳回的路徑字串會包含附加至 path
結尾的 extension
。
例外狀況
.NET Framework 和 2.1 之前的 .NET Core 版本:path
包含中GetInvalidPathChars()定義的一或多個無效字元。
範例
下列範例示範 如何使用 ChangeExtension
方法。
#using <system.dll>
using namespace System;
using namespace System::IO;
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'
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 工作的清單,請參閱 一般 I/O 工作。