質問: Convert.ToInt32(*p).ToString(); } ``` こちらはint aに65535という値を格納しています。この数値以下ならtextBoxに65535と値が入りますが、+1の65536をaに格納すると0が返ってきます。+2の65537をaに格納すると1が返って来ます。 原因はなんでしょうか。 よろしくお願いいたします。
回答: ``` string str = p_str; textBox1.Text = str; ``` で、できますかね? 理解しなければいけないのはそれぞれの型ではないでしょうか。 char*はあくまでchar型のポインタであり、string型ではありません。 `textBox1.Text = Convert.ToString(*p_str);`と指定すればchar型としてとれる'H'だけがTextに格納されることになるかと思います。 int型は4バイトなので65536も入るはずです。 結果が0となっているのであれば、格納されるtextBox側がサイズ的に足らないのではないでしょうか。 C#は詳しくないので事象からの予想になってしまうのですが、事象からするとushortな感じな気がします。 ushortならば範囲が「0~65535」なので65536を入れると桁あふれしてしまうのも頷けます。