C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のUri.Equals(Object)メソッドの使い方を徹底解説

C#のUri.Equals()メソッドは、2つのUriインスタンスが等しいかどうかを比較するためのメソッドです。Webアプリケーション開発などでURLの同一性を確認したい場合に活用できます。

構文

Uri.Equals()メソッドの構文は以下のとおりです。

public override bool Equals (object comparand);

パラメータ「comparand」には、現在のインスタンスと比較対象となるUriインスタンスまたはURI識別子を指定します。戻り値はbool型で、2つのURIが等しい場合はtrue、等しくない場合はfalseが返されます。

使用例1:同じURI同士の比較

まず、まったく同じURIを持つ2つのUriインスタンスを比較してみましょう。

using System;

public class Demo {
    public static void Main() {
        Uri newURI1 = new Uri("https://www.tutorialspoint.com/index.htm");
        Console.WriteLine("URI = " + newURI1);

        Uri newURI2 = new Uri("https://www.tutorialspoint.com/index.htm");
        Console.WriteLine("URI = " + newURI2);

        if (newURI1.Equals(newURI2))
            Console.WriteLine("両方のURIは等しいです!");
        else
            Console.WriteLine("両方のURIは等しくありません!");
    }
}

出力

このプログラムを実行すると、次のような結果が出力されます。

URI = https://www.tutorialspoint.com/index.htm
URI = https://www.tutorialspoint.com/index.htm
両方のURIは等しいです!

スキーム(https)もパス(index.htm)も完全に一致しているため、Equals()メソッドはtrueを返しています。

使用例2:異なるURI同士の比較

次に、パスが異なる2つのUriインスタンスを比較してみましょう。

using System;

public class Demo {
    public static void Main() {
        Uri newURI1 = new Uri("https://www.tutorialspoint.com/index.htm");
        Console.WriteLine("URI = " + newURI1);

        Uri newURI2 = new Uri("https://www.tutorialspoint.com/");
        Console.WriteLine("URI = " + newURI2);

        if (newURI1.Equals(newURI2))
            Console.WriteLine("両方のURIは等しいです!");
        else
            Console.WriteLine("両方のURIは等しくありません!");
    }
}

出力

このプログラムを実行すると、次のような結果が出力されます。

URI = https://www.tutorialspoint.com/index.htm
URI = https://www.tutorialspoint.com/
両方のURIは等しくありません!

一方は「index.htm」というファイル名を含むパス、もう一方はルートディレクトリを指しているため、2つのURIは等しくないと判定されました。

まとめ

Uri.Equals()メソッドを使うことで、スキームやホスト名、パスなどを含むURI全体が一致しているかどうかを簡単に判定できます。URLの比較処理を実装する際は、文字列比較ではなくこのメソッドを使用することで、URIとして正確な等価性チェックが可能になります。

  1. C#のDateTime.Equals()メソッドとは?使い方とサンプルコードを解説

    DateTime.Equals()メソッドとはC#のDateTime.Equals()メソッドは、2つのDateTimeオブジェクト(インスタンス)が等しいかどうかを判定するための静的メソッドです。比較の結果、両者が同一の日時であればtrueを返し、異なる場合はfalseを返します。このメソッドは、日時データの一致確認や条件分岐の処理などで頻繁に利用される基本的なメソッドの一つです。構文DateTime.Equals()メソッドの構文は以下の通りです。public static bool Equals (DateTime date1, DateTime date2);パラメータdate1:比較

  2. C#のType.Equals()メソッドとは?使い方とサンプルコードを解説

    C#のType.Equals()メソッドは、現在のTypeインスタンスが表す基盤となるシステム型が、指定されたObjectまたはTypeの基盤となるシステム型と同一であるかどうかを判定します。リフレクション処理などで型同士を比較したい場合に役立つメソッドです。 構文 public virtual bool Equals (Type o); public override bool Equals (object o); パラメータ o:現在のTypeの基盤となるシステム型と比較する対象となるオブジェクトまたは型を指定します。 戻り値 両方の基盤システム型が同じ場合は true、異なる場合は fa