GUID
の2つが一致するかどうかを確認する方法?.NET(C#)で2つのGUIDが一致するかどうかを確認する方法?
次のC#コードを使用して、g2
は同じGUID
g1
として有する場合に一致する方法:GUIDの
Guid g1 = new Guid("{10349469-c6f7-4061-b2ab-9fb4763aeaed}");
Guid g2 = new Guid("{45DF902E-2ECF-457A-BB0A-E04487F71D63}");
GUID
の2つが一致するかどうかを確認する方法?.NET(C#)で2つのGUIDが一致するかどうかを確認する方法?
次のC#コードを使用して、g2
は同じGUID
g1
として有する場合に一致する方法:GUIDの
Guid g1 = new Guid("{10349469-c6f7-4061-b2ab-9fb4763aeaed}");
Guid g2 = new Guid("{45DF902E-2ECF-457A-BB0A-E04487F71D63}");
ToString()
方法はconsisten文字列値をもたらすであろう、それを一致させるために使用することができます。
チェックこのテストではthis DotNetFiddleを確認してください。文字列として
using System;
public class Program
{
public static void Main()
{
// Two distinct GUIDs
Guid g1 = new Guid("{10349469-c6f7-4061-b2ab-9fb4763aeaed}");
Guid g2 = new Guid("{45DF902E-2ECF-457A-BB0A-E04487F71D63}");
// GUID similar to 'g1' but with mixed case
Guid g1a = new Guid("{10349469-c6f7-4061-b2ab-9fb4763AEAED}");
// GUID similear to 'g1' but without braces
Guid g1b = new Guid("10349469-c6f7-4061-b2ab-9fb4763AEAED");
// Show string value of g1,g2 and g3
Console.WriteLine("g1 as string: {0}\n", g1.ToString());
Console.WriteLine("g2 as string: {0}\n", g2.ToString());
Console.WriteLine("g1a as string: {0}\n", g1a.ToString());
Console.WriteLine("g1b as string: {0}\n", g1b.ToString());
// g1 to g1a match result
bool resultA = (g1.ToString() == g1a.ToString());
// g1 to g1b match result
bool resultB = (g1.ToString() == g1b.ToString());
// Show match result
Console.WriteLine("g1 matches to g1a: {0}\n", resultA);
Console.WriteLine("g1 matches to g1b: {0}", resultB);
}
}
出力
G1:10349469-c6f7-4061-b2ab-9fb4763aeaed文字列として
G2:45df902e-2ecf-457A-bb0a-e04487f71d63
G1A文字列として:10349469-c6f7-4061-b2ab-9fb4763aeaed
g1b文字列:10349469-c6f7-4061-b2ab-9fb4763aeaed
g1がG1Aと一致:真
g1がG1Bに一致します。
文字列に変換する必要は全くありません。不必要なオーバーヘッドが追加されています。これはひどい考えです。 'g1 == g2'または' g1.Equals(g2) 'を使用してください。 – DavidG
真のあなたはGuid.Equals
オーバーロードのいずれかを使用します。実用的な面でそう
:
if (g1 == g2) { /* guids are equal */ }
正しい方向を指してくれてありがとう、私は' Equals'が参照型とマッチすると思った。 –
@AmitKB [public bool Equals(Guid g) '](http://referencesource.microsoft.com/mscorlib/a.html#54bcc19a4028b3f2) –
@MartinBackaschを参照していただきありがとうございます。 –
は 'Guid'は正しく平等を実現し、そう'等号:以下も動作しますので
System.Guid
は、同様平等、演算子を実装することを注意'または' == 'となります。 –