
教えて下さい。
vb.net(VS2010 FW4.0)にて、2つのByte配列の各要素をOR演算し、結果をどちらかのByte配列へ格納するか、別のByte配列へ格納したいのです。
For分で回すとできるのは分かるのですが、メソッドを使ってできないか教えて下さい。
条件としては、2つのByte配列の要素数は同じです。
For分で記述すると、
Dim bytA() as Byte = {0,0,0,0,0,128,128,128,128,128}
Dim bytB() as Byte = {255,255,255,255,255,0,0,0,0,0}
For i as Integer = 0 to bytA.GetUpperBound(0)
bytA(i) = bytA(i) Or bytB(i)
Next
''' 結果は bytA = (255,255,255,255,255,128,128,128,128,128)となる
No.1ベストアンサー
- 回答日時:
「LINQ」と「ラムダ式」について調べてみてください。
使いこなせるようになるとかなり強力です。
例)
bytA = bytA.Select(Function(b, i) b Or bytB(i)).ToArray()
参考URL:http://msdn.microsoft.com/ja-jp/library/bb534869 …
この回答への補足
試してみた所、うまくいきました。
ありがとうございました。
でも、For文で回した方が処理時間が3倍程度短くできそうです。うまく高速化できる方法があれば、合わせてご教授願えると助かります。
No.2
- 回答日時:
> でも、For文で回した方が処理時間が3倍程度短くできそうです。
ToArrayで時間がかかっちゃいますからねぇ。
時間を気にするならFor文で回すのが確実です。
どうしてもワンライナーで、ということなら、
bytA.Select(Function(b, i) bytA(i) = bytA(i) Or bytB(i)).GetEnumerator()
と書くこともできますが……
再度回答ありがとうございます。
そうですね、今回はFor文で処理させようと思います。
でも、[LINQ][ラムダ式]については今後活用させて頂きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
遅延バインディングを使用でき...
-
VBAで配列の計算
-
動的配列が存在(要素が有る)か...
-
配列の要素数を超えた参照のコ...
-
複数のテキストボックスに同じ...
-
ログデータを表示するグラフに...
-
EXCEL VBA で、0から?1から?
-
ORA-01858: 数値を指定する箇所...
-
C言語のポインターに関する警告
-
0dの意味を教えてください
-
オブジェクトの中のプロパティ...
-
ダブルクォーテーションを含む...
-
JSPやサーブレットでSystem.out...
-
System.err. printlnとSystem.o...
-
csv出力について
-
ダブルクォーテーションのrepla...
-
nullcline
-
Formの値が変更されたかどうか...
-
tomcatのstdout.logを停止したい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
動的配列が存在(要素が有る)か...
-
VBAで配列の計算
-
VB.net 引数で配列変数を渡す際...
-
C言語 重複しない4ケタの乱数...
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
複数のテキストボックスに同じ...
-
配列の要素数を超えた参照のコ...
-
VBでbyte配列型のインスタンス...
-
10進数を4桁のバイト配列に格納...
-
ジャグ配列とは
-
ログデータを表示するグラフに...
-
ゲーム箱入り娘のつくりかた
-
遅延バインディングを使用でき...
-
VBで作った乱数を一度も重複さ...
-
C#の質問
-
このプログラムがわかりません
-
【MFC】GetCount()とGetSize()...
おすすめ情報