たとえば、バイナリデータのMD5ハッシュ文字列(いわゆるフィンガープリント)を生成するのに、こんなコードを書いてました。
static string MD5OldStyle(byte[] tgt)
{
var sb = new StringBuilder();
using (var md5 = MD5.Create())
{
foreach (var b in md5.ComputeHash(tgt))
{
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
}
MSDNのサンプルもこんなコードになっています。しかし、ここにstring.Concatのメソッドを使うと、
static string MD5NewStyle(byte[] tgt)
{
using(var md5 = MD5.Create())
{
return string.Concat(md5.ComputeHash(tgt).Select(b => b.ToString("x2")));
}
}
おんなじことがこれでできます。なんて素敵な!
0 件のコメント:
コメントを投稿