8

私は静的配列のまともな定義を探していました。msdnおよびc#ソースを使用してみましたが、定義が見つからないようです。例を示していますが、定義はありません...

静的配列のリンクや定義、特性を知っている人はいますか?

4

3 に答える 3

13

「静的配列」について話すとき、実際には2つの別々のことについて話していることになります。

1つはstaticキーワードです。変数に適用される場合、これは変数がclassレベルに存在し、そのタイプの各オブジェクトが独自のインスタンスを取得しないことを意味します。

Anarrayは、あるタイプの複数の値を保持するための単なるデータ構造です。

したがって、astatic arrayは、いくつかのデータ型の複数を保持できるクラスレベルの単なる配列です。

例えば:

あなたのTravelRouteクラスでは、ルートに設定された数の可能な目的地があるかもしれません。これらは次のように定義できます。

class TravelRoute {
    public static Destination[] possibleDestinations = 
           new Destination[]{
                 new Destination("New York"),
                 new Destination("Minneapolis"),
                 new Destination("NParis")
           };
}

これにより、で可能な宛先が定義されますTravelRoute。次に、次のようにアレイにアクセスできます。

Destination one = TravelRoute.possibleDestinations[0];
于 2011-01-04T14:52:20.803 に答える
7

固定サイズの配列を意味するのでしょうか?

unsafe struct Foo
{
    fixed int Values[8];
}

その場合、クエリとして固定サイズの配列を使用すると、より多くの検索結果が得られます:)

于 2011-01-04T15:31:20.673 に答える
2

静的配列自体に特別なことは何もありません(私が知っていることです)。そのため、静的配列に関する適切な記述を見つけるのに苦労している可能性があります。私が間違っている場合は訂正してください。しかし、あなたが最も興味を持っているのは「静的」な部分なのだろうか?基本的に、静的とは、メンバーがインスタンスレベルではなくクラスレベルに存在することを意味します。したがって、静的配列は、(クラスのインスタンスではなく)クラスに属する配列になります。

例:

public class Foo
{
   public static int[] Numbers {get; set;}
}

public class Bar
{
   public int[] Numbers {get;set;}
}

public class Program
{
     public void Main()
     {
// NOTE: Foo itself has this array
          Foo.Numbers = new int[]{1,2,3};

// NOTE: it's this particular instance of a Bar that has this array
           Bar bar = new Bar();
           bar.Numbers = new int[]{1,2,3};

     }
}
于 2011-01-04T14:58:16.953 に答える