2012-04-28 17 views
0

in c#vartoをchar配列に変換する方法。 char [8] array これはvarがそれほど大きくないことを保証することができます。のC#でvarをchar配列に変換する方法char array [8]

のような、私は

var a = 634711440648369988; 

を持っていると私はchar[8] cはそれを格納します。

この変換を正しく行うにはどうすればよいですか?おかげさまで

+0

私は "VAR" に "INT" から私の質問を変更しました。ちょうどあなたに知らせてください。不便をおかけして申し訳ありません。 –

+2

"char"配列に長い8バイトを格納しようとしていますか? c#charはc charと同じではありません。 –

答えて

0

文字列にキャストしてToCharArrayメソッドを使用することができます。

char [ ] c = a.ToString().ToCharArray(); 
+1

'toString'の呼び出しはキャストではありません。それはメソッド呼び出しです。 –

+0

結果配列のサイズが8であることを確認する方法は?これは、 'a.ToString()。ToCharArray()'を呼び出すと、 –

+0

@AndersLindのために非常に重要です。配列の長さは、1から最大10桁までの任意の長さです。 –

1

char[8]のようなものはありません。 charの配列はchar[]となります。

これはC++の視点から来て、実際には長さ8のバイト配列を必要としていると思います。その場合、必要な型はbyte[]です。 C#のcharは16ビットのデータ型なので、char[]ではなくbyte[]が必要であることに注意してください。

BitConverter.GetBytes()に電話すると、必要なものを入手できます。 8バイトの整数を渡すこの関数を呼び出すと、返される配列はdocumentationに記載されているように、長さが8のbyte[]になります。

0
int a = 123412; 

char[] d = a.ToString().ToCharArray(); 

foreach (char c in d) 
{ 
    Console.WriteLine(c); 
} 
2
+0

結果配列のサイズが8であることを確認する方法は?これは私のために非常に重要です –

+0

@アンダー:どの過負荷を選択するかによって異なります。 'Int64'または' UInt64'入力は8バイトを出力します。 'Int32'または' UInt32'入力は4バイトを出力します。等々。正確なサイズを保証するには、 'var'の代わりに' ulong a = 634711440648369988; 'を使用してください。 –