たとえば、バイナリデータの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 件のコメント:
コメントを投稿