2012-03-19 4 views
1

私は私のListは次のように定義されてbyte[]オブジェクト配列

に変換したいオブジェクトのListあります

List<object> objects = new List<object> 
{ 
    "obj1", "obj2", "obj2" 
}; 

は、このリストを変換することは可能ですいくつかクリーンな方法でbyte[]List<String>とは対照的に、@AustinSalonenが、指摘するようobjectsが本当にList<Object>ある場合

objects.Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray(); 

、あなたがする必要があります。リストには、すべてのヘルプがケーキの

+3

はなぜ ''リストを 'objects'されていませんか? –

+0

「クリーン」とはどういう意味ですか? .NETフレームワークが提供するシリアライゼーションメカニズムの1つを使用することを検討しましたか?バイナリ形式またはSOAP形式ですか? –

答えて

4

ワンピースを高く評価しているbase64文字列

が含まれています

objects.OfType<String>().Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray(); 

またはキャスト:

objects.Cast<String>().Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray(); 
+0

あなたの答えをありがとう。はい、私はすべてのデータを1つの大きな配列にしたいと思います。 –

+0

編集済み、上記を参照 –

+0

ありがとうございました。私は最後の質問がありますが、最後のarent base64文字列の項目はどうでしょうか?それほど真実でないなら、私はbase64以外の項目の解決策を見たいと思います。出来ますか? –

1

これは、文字列のために働く必要があります。

System.Text.Encoding enc = System.Text.Encoding.ASCII; // Choose the right encoding here 
List<byte[]> list = objects.Select(o=>enc.GetBytes(o.ToString()).ToList(); 
+0

文字列はbase64です –

関連する問題