21 Stimmen

Uri.TryCreate gibt für jeden String-Wert true zurück?

Ich versuche, eine Uri mit der Methode Uri.TryCreate zu validieren, und als ich sie mit einer ungültigen Zeichenfolge aufrief, gab die Methode true zurück. Irgendwelche Ideen warum? Mein Code ist unten:

    private void button1_Click(object sender, EventArgs e)
    {
        Uri tempValue;
        if (Uri.TryCreate("NotAURL", UriKind.RelativeOrAbsolute, out tempValue))
        {
            MessageBox.Show("?");
        }
    }

26voto

Matthew Flaschen Punkte 266507

Das ist eine gültige relative URL. Ein Beispiel für einen ungültigen URI ist:

"http://example.com<>"

Wenn Sie nur absolute URIs zulassen wollen, verwenden Sie UriKind.Absolute .

Das Beispiel wird dann nicht geparst.

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