SQL Server と firebird 間のデータ同期アプリケーションを作成しています。firebird では、'Y' や 'N' のようなドメインによって bool が提供されるという歴史的な理由があります。bool と char(1) の間の変換関数を作成したいのですが、null 値を受け入れる必要があります。
入力パラメータが bool または string で、db からの値が null の場合、問題が発生しますよね?
これどうやってするの?
SQL Server と firebird 間のデータ同期アプリケーションを作成しています。firebird では、'Y' や 'N' のようなドメインによって bool が提供されるという歴史的な理由があります。bool と char(1) の間の変換関数を作成したいのですが、null 値を受け入れる必要があります。
入力パラメータが bool または string で、db からの値が null の場合、問題が発生しますよね?
これどうやってするの?
入力がトライステートで、出力がバイステートの場合、「デフォルト」を考慮する必要があります。C#の部分でnull許容のboolを処理することについて話しているだけの場合は、「bool?」を使用できます。null許容ブール値を表すため(内部でボックス化されます)。
Nullable boolを使用しますか?
設定できます
bool? flag = false; // or null
var result = flag ?? false; // this will return false in case of null