richTextBoxとbuttonを備えたシンプルなアプリケーションがあります。ユーザーは、richTextBoxに数値(整数)を入力します(1行に1つの数値)。
彼がボタンをクリックすると、SQLクエリを生成したいと思います。
基本的に、次のように整数をクエリに渡すと機能します。
SELECT price from products where ID IN (1, 2, 3, 4)
これは、ユーザーがrichTextBoxの行として1、2、3、4を入力した場合です。
しかし、整数の代わりにbinary(8)を渡したいと思います。
これは私の元のコード行です:
cmdString += " IN (" + string.Join(", ", richTextBox1.Lines) + ") ";
私はこのようにLINQでそれを変更しようとしました:
cmdString += " IN ("
+ string.Join(", ", richTextBox1.Lines.Select(c =>
{ c = "0x"+Convert.ToString(Convert.ToInt32(c), 16);
return c;
}).ToArray())
+ ") ";
私が欲しいもの:
たとえば、次のように変換します。
1 to 0x0000000000000001
30 to 0x000000000000001E
私はあなたがポイントを得ることを望みます。
アップデート:
私はこれをしました:
textBox1.Text = string.Join(", ", richTextBox1.Lines.Select(c =>
{
c = "0x" + "0000000000000000".Substring(0, (16 - Convert.ToString(Convert.ToInt32(c), 16).Length)) + Convert.ToString(Convert.ToInt32(c), 16);
return c;
}).ToArray());
2番目Convert.ToString(Convert.ToInt32(c))
の使用法を削除する方法はありますか?それとも別の方法でそれをしますか?