Guid ToStringフォーマットはどのくらい知っていますか?
日常のプログラミングでは、Guidが一般的に使われていますが、最も一般的な使用は以下の通りです.
この文は新しいGuidを生成し、次のように文字列に変換します.
//10244798-9a34-4245-b1ef-9143f9b1e68a
しかし、いくつかの状況では、次のような詳細の違いがあります.前後に括弧{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx の間にハイフネーションがない 前後は括弧(xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
このような状況に遭遇すると面倒になりますが、最も一般的なのはguidで生成された文字列の解析処理です.例えば、かっこをつけたり、ハイフンを空の文字で置き換えたりします.
実はそんなに面倒ではありません.ToStringの時、リロードされた関数があります.
フォーマット文字列を入力することで、このタイプのguid文字列を出力できます.
例は次のとおりです.
注意:ここでD,N,B,Pは大文字と小文字を区別せず、空の文字列が入力されるとデフォルトのDタイプが使用され、その他の場合は例外が報告されます.
MSDNではもう1つの「X」タイプが検索されますが、.NetFx 3.5で使用すると例外がポップアップされます.
未処理の例外: System.FormatException:フォーマット文字列は、「D」、「d」、「N」、「n」、「P」、「p」、「B」または「b」のみです.
System.Guid.ToString(String format,IFOrmatProvider provider)
string id = Guid.NewGuid().ToString();
この文は新しいGuidを生成し、次のように文字列に変換します.
//10244798-9a34-4245-b1ef-9143f9b1e68a
しかし、いくつかの状況では、次のような詳細の違いがあります.
このような状況に遭遇すると面倒になりますが、最も一般的なのはguidで生成された文字列の解析処理です.例えば、かっこをつけたり、ハイフンを空の文字で置き換えたりします.
var str = guid.ToString();
var id = "{" + str + "}";
var id2 = str.Replace("-", "");
var id3 = "(" + str + ")";
実はそんなに面倒ではありません.ToStringの時、リロードされた関数があります.
ToString(String)
フォーマット文字列を入力することで、このタイプのguid文字列を出力できます.
例は次のとおりです.
var guid = Guid.NewGuid();
// 10244798-9a34-4245-b1ef-9143f9b1e68a
Console.WriteLine(guid.ToString("D"));
// 102447989a344245b1ef9143f9b1e68a
Console.WriteLine(guid.ToString("N"));
// {10244798-9a34-4245-b1ef-9143f9b1e68a}
Console.WriteLine(guid.ToString("B"));
// (10244798-9a34-4245-b1ef-9143f9b1e68a)
Console.WriteLine(guid.ToString("P"));
注意:ここでD,N,B,Pは大文字と小文字を区別せず、空の文字列が入力されるとデフォルトのDタイプが使用され、その他の場合は例外が報告されます.
MSDNではもう1つの「X」タイプが検索されますが、.NetFx 3.5で使用すると例外がポップアップされます.
未処理の例外: System.FormatException:フォーマット文字列は、「D」、「d」、「N」、「n」、「P」、「p」、「B」または「b」のみです.
System.Guid.ToString(String format,IFOrmatProvider provider)