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 バージョンと .NET Core バージョンが 2.1 より前の場合: path
にGetInvalidPathChars()定義されている無効な文字が 1 つ以上含まれています。
例
次の例では、 メソッドの使用方法を 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'
注釈
と extension
にピリオド (.) が含まれている場合はpath
、ChangeExtension
ピリオドを追加します。
パラメーターには extension
、複数のピリオドと任意の有効なパス文字を含めることができます。また、任意の長さを指定できます。 が null
の場合extension
、返される文字列には、最後のpath
ピリオドとその後のすべての文字が削除された の内容が含まれます。
が空の文字列の場合 extension
、返されるパス文字列には の内容が含まれます。最後の path
ピリオドの後の文字は削除されます。
に拡張子extension
が指定されておらず、 が でないnull
場合path
、返される文字列の後extension
に path
が含まれます。
が でなくnull
、先頭のピリオドが含まれていない場合extension
は、期間が追加されます。
複数のピリオドで区切られた複数の拡張子が含まれている場合 path
、返される文字列には、最後のピリオドを含む の path
内容と、その後のすべての文字が に extension
置き換えられます。 たとえば、 が "\Dir1\examples\pathtests.csx.txt" でextension
が "cs" の場合path
、変更されたパスは "\Dir1\examples\pathtests.csx.cs" になります。
返された結果がすべてのシナリオで有効であることを確認することはできません。 たとえば、 が空の場合 path
、 extension
が追加されます。
共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。
適用対象
こちらもご覧ください
.NET