Path.ChangeExtension(String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zmienia rozszerzenie ciągu ścieżki.
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
Parametry
- path
- String
Informacje o ścieżce do zmodyfikowania.
- extension
- String
Nowe rozszerzenie (z lub bez okresu wiodącego). Określ, null aby usunąć istniejące rozszerzenie z pathprogramu .
Zwraca
Zmodyfikowane informacje o ścieżce.
Na platformach klasycznych opartych na systemie Windows, jeśli path jest lub pusty null ciąg (""), informacje o ścieżce są zwracane niezmodyfikowane. Jeśli extension jest nullto , zwracany ciąg zawiera określoną ścieżkę z usuniętym rozszerzeniem. Jeśli path nie ma rozszerzenia i extension nie nulljest , zwracany ciąg ścieżki zawiera extension dołączany na końcu .path
Wyjątki
.NET Framework i .NET Core w wersjach starszych niż 2.1: path zawiera co najmniej jeden nieprawidłowy znak zdefiniowany w programie GetInvalidPathChars().
Przykłady
W poniższym przykładzie pokazano użycie ChangeExtension metody .
#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'
Uwagi
Jeśli ani pathextension nie zawiera kropki (.), ChangeExtension dodaje kropkę.
Parametr extension może zawierać wiele krosek i dowolnych prawidłowych znaków ścieżki i może mieć dowolną długość. Jeśli extension jest nullto , zwracany ciąg zawiera zawartość path z ostatnim kropką i wszystkie znaki po jego usunięciu.
Jeśli extension jest pustym ciągiem, zwrócony ciąg ścieżki zawiera zawartość path wszystkich znaków po usunięciu ostatniego okresu.
Jeśli path nie ma rozszerzenia i extension nie nulljest , zwracany ciąg zawiera path ciąg, po którym extensionnastępuje .
Jeśli extension nie null jest i nie zawiera okresu wiodącego, zostanie dodany okres.
Jeśli path zawiera wiele rozszerzeń oddzielonych wieloma kropkami, zwracany ciąg zawiera zawartość path ostatniego okresu i wszystkie znaki po nim zastąpione przez extension. Jeśli na przykład path jest "\Dir1\examples\pathtests.csx.txt" i extension jest "cs", zmodyfikowana ścieżka to "\Dir1\examples\pathtests.csx.cs".
Nie można sprawdzić, czy zwrócone wyniki są prawidłowe we wszystkich scenariuszach. Jeśli na przykład path jest pusty, extension jest dołączany.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.