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 path
programu .
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 null
to , zwracany ciąg zawiera określoną ścieżkę z usuniętym rozszerzeniem. Jeśli path
nie ma rozszerzenia i extension
nie null
jest , 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 path
extension
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 null
to , 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 null
jest , zwracany ciąg zawiera path
ciąg, po którym extension
nastę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.