2016-05-09 17 views
0

ushort配列を持つushort[] ushort配列を[44,55]に変換するにはどうすれば4455になるのですか?配列には常に2つの要素があります。C#でushort []配列を単一のushortに変換する

ushort[] test = new ushort[2]; 
test[0] = 44; 
test[1] = 55; 
// Here I want to convert the ushort[] to a unique ushort value 4455 
usortValue = ? 
return usortValue; 

Stringがするように私は.join機能を期待していたが、それはushortでは不可能です。事前に

おかげ

+4

そして、何あなたがオーバーフローした場合にやりたいですか? –

+0

@DovydasSopaそれでは、長さ2の配列を常に結合するだけで済むので、それは問題ではありません。 –

+4

[44,5]のようなペアではどうなりますか?結果は445または4405ですか? – PaulF

答えて

4

は、あなたがオーバーフローするつもり遅かれ早かれ(sooner!)の述語が「文字列に変換連結、およびUSHORTに戻っ解析」であると、集計することができますが、 。

ushort[] test = new ushort[2]; 
test[0] = 44; 
test[1] = 55; 
var result = test.Aggregate((p,c) => ushort.Parse((p.ToString() + c.ToString()))); 

ライブ例:文字列に数値を変換し、それらへの参加についてhttp://rextester.com/VKV9570

+0

このコードは結果を '5544 'として返します。 –

+0

@MatthewWatson - いいえ、私はおそらく 'c'と' p'を間違った方法で回します:D(今修正) – Jamiec

1
ushortValue = Convert.ToUInt16(test[0].ToString() + test[1].ToString()); 
2

どのように?

var result =string.Join("",test.Select(x=>x.ToString()));  
Convert.ToUInt16(result); 

Demo

関連する問題