Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
任意の文字列のリストがあります。これらを16進数のカラーコードに変換したいと思います。
同じ文字列を変換するたびにメソッドが同じカラー コードを返す必要があるため、コードはランダムであってはなりません。
解決:
public string GetColorCode(string value) { var i = value.GetHashCode() & 0x00FFFFFF; return i.ToString("X6"); }
GetHashCode()出発点として使用できます。GetHasCode()は完全な整数を返し、 で色を定義するのに通常 3 バイトしか必要ないため、RGB次のいずれかを実行して noin の重要な部分をスキップする必要があります。
GetHashCode()
GetHasCode()
RGB
var color = str.GetHashCode() & 0x00FFFFFF;
また
var color = str.GetHashCode()>>8;
これは、同じ文字列、同じ色であることを保証します。