Path.ChangeExtension メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Path.ChangeExtension メソッドの意味・解説 

Path.ChangeExtension メソッド

パス文字列の拡張子を変更します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function ChangeExtension
 ( _
    path As String, _
    extension As String _
) As String
public:
static String^ ChangeExtension (
    String^ path, 
    String^ extension
)

パラメータ

path

変更するパス情報。パスに、InvalidPathChars で定義された文字を含めることはできません。

extension

新しい拡張子 (先行ピリオド付き)。null 参照 (Visual Basic では Nothing) を指定して、path から既存の拡張子を削除します。

戻り値
変更されたパス情報を含む文字列。 Windows ベースのデスクトップ プラットフォームでは、path が null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合、パス情報は変更されずに返されます。extension が null 参照 (Visual Basic では Nothing) の場合は、返される文字列に、削除した拡張子が付いた指定したパスが含まれます。path に拡張子がなく、extension が null 参照 (Visual Basic では Nothing) でない場合は、返されるパス文字列に path の末尾に追加される extension が含まれます。

例外例外
例外の種類条件

ArgumentException

パスに、InvalidPathChars で定義されている無効な文字が 1 つ以上含まれているか、ワイルドカード文字が含まれています。

解説解説

path にも extension にもピリオド (.) が含まれていない場合、ChangeExtension はピリオドを追加します。

extension パラメータには、複数のピリオドと任意の長さの有効なパス文字を含めることができます。extension が null 参照 (Visual Basic では Nothing) の場合は、返される文字列には、最後のピリオドとその後ろの削除されたすべての文字が付いた path の内容が含まれます。

extension が空の文字列の場合は、返されるパス文字列には、最後のピリオドの後ろの削除された文字を含む path の内容が含まれます。

path が拡張子を持たず、extension が null 参照 (Visual Basic では Nothing) でない場合は、返される文字列には、後ろに extension が付いた path が含まれます。

extension が null 参照 (Visual Basic では Nothing) でなく、先行ピリオドが含まれていない場合は、ピリオドが追加されます。

path に、複数のピリオドで区切られた複数の拡張子が含まれている場合は、返される文字列には、最後のピリオドを含む path の内容とその後ろの extension で置換されたすべての文字が含まれます。たとえば、path が "\Dir1\examples\pathtests.csx.txt" で、extension が "cs" の場合、変更されたパスは "\Dir1\examples\pathtests.csx.cs" となります。

返された結果がすべてのシナリオで有効かどうかを検査できません。たとえば、path が空の場合は、extension が追加されます。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

使用例使用例

ChangeExtension メソッドの使用方法を次のコード例に示します。

Imports System
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'
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'
#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 );
   
import System.*;
import 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);
var goodFileName : String = "C:\\mydir\\myfile.com.extension";
var badFileName : String = "C:\\mydir\\";
var result : 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); 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Path.ChangeExtension メソッド」の関連用語

Path.ChangeExtension メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Path.ChangeExtension メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS