多数の配列を埋めるアプリケーションに取り組んでいます。しかし、元は VB6 アプリケーションであるため、それらのゼロ要素は使用しません。これは次のようなものを停止します
my_array.Min
正常に動作しません。アプリケーションの内部を改ざんする予定はありませんが、この種のステートメントで配列要素の範囲を指定できれば非常に便利です。何かのようなもの
my_array(1:100).Min
そのような構造は存在しますか? 存在する場合、それは何ですか?
多数の配列を埋めるアプリケーションに取り組んでいます。しかし、元は VB6 アプリケーションであるため、それらのゼロ要素は使用しません。これは次のようなものを停止します
my_array.Min
正常に動作しません。アプリケーションの内部を改ざんする予定はありませんが、この種のステートメントで配列要素の範囲を指定できれば非常に便利です。何かのようなもの
my_array(1:100).Min
そのような構造は存在しますか? 存在する場合、それは何ですか?
残念ながら、.NETには便利な配列スライス構成1がありません(ただし、Linqを使用して近似できます)が、ここではXY問題で間違ったXを解決しています。
実際の解決策は、1ベースの配列を使用しないことです。アプリケーションの内部を変更してください。
ちなみに、VB6のアレイのデフォルトベースもゼロでした。Option Base 1
1ベースの配列を明示的に指定する必要がありました。
1ありますが、.NET 4.5より前では、この構造はインターフェイスをArraySegment(T)
実装しておらず、使用できなかったため、完全に壊れていました。IList(T)
現在はそれを実装していますが、手遅れです。誰もクラスを使用していません。