2 Stimmen

Warum trimmt TrimStart ein Zeichen mehr, wenn es "PRN.NUL" trimmen soll?

Hier ist der Code:

namespace TrimTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string ToTrim = "PRN.NUL";
            Console.WriteLine(ToTrim);
            string Trimmed = ToTrim.TrimStart("PRN.".ToCharArray());
            Console.WriteLine(Trimmed);
            ToTrim = "PRN.AUX";
            Console.WriteLine(ToTrim);
            Trimmed = ToTrim.TrimStart("PRN.".ToCharArray());
            Console.WriteLine(Trimmed);
            ToTrim = "AUX.NUL";
            Console.WriteLine(ToTrim);
            Trimmed = ToTrim.TrimStart("AUX.".ToCharArray());
            Console.WriteLine(Trimmed);
        }
    }
}

Die Ausgabe sieht folgendermaßen aus:

PRN.NUL

UL

PRN.AUX

AUX

AUX.NUL

NUL

Wie Sie sehen können, hat TrimStart das N von NUL entfernt. Bei anderen Zeichenketten ist das nicht der Fall, auch wenn sie mit PRN beginnen.

Ich habe es mit .NET Framework 3.5 und 4.0 versucht und die Ergebnisse sind die gleichen. Gibt es eine Erklärung für die Ursache dieses Verhaltens?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X