[解決済み】C#の配列スライス
2022-04-03 05:17:45
質問
どうやるの?バイト配列が与えられると
byte[] foo = new byte[4096];
最初のxバイトを別の配列として取得するにはどうしたらよいでしょうか?(具体的には、私はそれを
IEnumerable<byte>
)
を操作するためのものです。
Socket
s. 一番簡単な方法は、Perlsの構文に似た配列スライシングだと思います。
@bar = @foo[0..40];
この場合、最初の 41 要素を
@bar
という配列になります。C#で私が見落としているだけなのか、それとも他にやるべきことがあるのでしょうか?
LINQは私のためのオプションです(.NET 3.5)、それが少し役立つならば。
どのように解決するのですか?
配列は列挙可能である。
foo
はすでに
IEnumerable<byte>
そのものです。
のようなLINQシーケンスメソッドを使用するだけです。
Take()
を使えば、欲しいものが手に入ります。
Linq
という名前空間を
using System.Linq;
):
byte[] foo = new byte[4096];
var bar = foo.Take(41);
もし、どうしても配列が必要な場合は
IEnumerable<byte>
の値を使用することができます。
ToArray()
メソッドを使用することができます。ここではそのようなことはないようです。
関連
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] 特定のプロパティに対するLINQのDistinct()
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] 配列要素の範囲を新しい配列にクローンする方法を教えてください。
-
[解決済み] C#で配列の一部を別の配列にコピーする方法は?