複数のデータベース列のセミコロン区切りのリストを作成するためのより効率的な方法を探しています。私が現在使用しているコードは次のようになります(そしてそれは機能します):
//Process List of things
var things = DB.DbColumn_1.HasValue ? DB.DbColumn_1.Value.Equals(true) ? "thing 1;" : "" : "");
things += DB.DbColumn_2.HasValue ? DB.DbColumn_2.Value.Equals(true) ? "thing 2;" : "" : "");
things += DB.DbColumn_3.HasValue ? DB.DbColumn_3.Value.Equals(true) ? "thing 3;" : "" : "");
things += DB.DbColumn_4.HasValue ? DB.DbColumn_4.Value.Equals(true) ? "thing 4;" : "" : "");
// Remove final ';' from thing list if non-empty
things = things.Length > 0 ? things.Substring(0, things.Length-1) : things;
私は実際に処理する約8つの列を持っています-例はあなたにそのいくつかを省きます。だから私は単純な文字列を構築するための大きな醜いコードブロックを持っています。これは問題なく機能しているように見えますが、私がやろうとしていることにはコードが多すぎるようです。また、この状況で「.Equals()」を使用する場合は注意が必要ですか?
ブレーンストーミングを行った後、文字列自体を作成するための別の関数を作成するなど、これよりも効率的と思われるものは何もありませんでした。すべての列は一意のnull許容boolであり、結果のリストに対して一意の文字列出力があります。
または、これらの要素に十分に効率的にアクセスして、心配する必要はありませんか?
ありがとうございました!