タイトルの言い回しが悪いのはわかっていますが、どう説明したらいいのかよくわかりませんでした。テキストボックスの値を読み取って使用しようとしています。以下に例を示します。
Jtag.Call(0x82254940, -1, 0, "c \"textBox1.Text\"");
いくつかの引用符の間にあるため、それは機能しません。 +textBox1+ も試しましたが、役に立ちませんでした。
ありがとう。
タイトルの言い回しが悪いのはわかっていますが、どう説明したらいいのかよくわかりませんでした。テキストボックスの値を読み取って使用しようとしています。以下に例を示します。
Jtag.Call(0x82254940, -1, 0, "c \"textBox1.Text\"");
いくつかの引用符の間にあるため、それは機能しません。 +textBox1+ も試しましたが、役に立ちませんでした。
ありがとう。
文字列補間 (変数の値を文字列に挿入する) を行うには、C# で次のいずれかを使用できますstring.Format
(通常は推奨される方法)。
string command = string.Format("c \"{0}\"", textBox1.Text);
Jtag.Call(0x82254940, -1, 0, command);
または文字列連結 (を使用+
):
string command = "c \"" + textBox1.Text + "\"";
Jtag.Call(0x82254940, -1, 0, command);
あなたの例で紛らわしい部分は、を使用して値を引用する必要があることだと思います\"
。これにより、引用符がエスケープ"
され、文字列にリテラルが表示されます。文字列の一部の終わりを示すものではありません。文字列を閉じる必要があります。
string first = "string ending with a quote, here \"";
string second = "\" this one starts with a quote.";
Visual Studio で構文の色分けを有効にしている場合は、何が文字列で何がそうでないかが明確になります。
Jtag.Call(0x82254940, -1, 0, "c \"" + textBox1.Text + "\"");
しかし、明確にするために、私はロジャースの提案に従います。
Jtag.Call(0x82254940, -1, 0, "c \"" + textBox1.Text + "\"");
または使用String.Format
:
Jtag.Call(0x82254940, -1, 0, String.Format("c \"{0}\"", textBox1.Text ));