[解決済み] array.GetLength(0)とarray.GetUpperBound(0)の違いについて
2022-02-26 12:38:49
質問
この2つの方法の違いは何でしょうか。また、どのような場合にどちらかを使うのでしょうか。
int[,] array = new int[4,3];
int length0 = array.GetLength(0);
int upperbound0 = array.GetUpperBound(0);
MSDNによると、GetLengthは要素数を返し、GetUpperBoundは最大インデックスを決定するとありますが、配列はインデックスごとに要素で初期化されるので、どのように異なるのでしょうか。
どのように解決するのですか?
この(ほとんど使われていない)方法をご覧ください。以下より ドキュメント :
public static Array CreateInstance(Type elementType, int[] lengths, int[] lowerBounds)
指定されたTypeと次元の長さを持つ多次元配列を、指定された下限値で作成します。
これを用いると、以下のインデックスを持つ配列を作成することができます。
-5 ... +5
. もし、このような配列を使うことがあれば
GetUpperBound()
よりもはるかに便利になります。
GetLength()-1
. また
GetLowerBound()
.
しかし、この種の配列に対するC#のサポートは低いので、このような配列は使用できません。
[]
. これらのメソッドは、Array.GetValue() と SetValue() メソッドとの組み合わせでのみ必要となります。
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] JavaScriptの配列宣言で「Array()」と「[]」はどう違うのですか?
-
[解決済み] numpy.arrayの形状(R, 1)と(R,)の違いについて
-
[解決済み] 2つの日付の間の月数の差
-
[解決済み] Server.MapPathとHostingEnvironment.MapPathの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】IntPtrとは一体何なのか?