C# 静态数组的定义

C# 静态数组的定义,c#,arrays,static,definition,characteristics,C#,Arrays,Static,Definition,Characteristics,我一直在寻找一个像样的静态数组定义。我尝试过使用msdn和c#源代码,但似乎找不到定义。它给出了示例,但没有定义 有人知道静态数组的链接、定义和特征吗?当你谈论“静态数组”时,你实际上是在谈论两件不同的事情 一个是static关键字。当应用于变量时,这意味着变量存在于类级别,并且该类型的每个对象都不会获得自己的实例 数组只是一种用于保存某种类型的多个值的数据结构 因此,静态数组只是一个类级别的数组,可以容纳多种数据类型 例如: 在您的TravelRoute课程中,您可以在一条路线中设置多个可能的

我一直在寻找一个像样的静态数组定义。我尝试过使用msdn和c#源代码,但似乎找不到定义。它给出了示例,但没有定义


有人知道静态数组的链接、定义和特征吗?

当你谈论“静态数组”时,你实际上是在谈论两件不同的事情

一个是
static
关键字。当应用于变量时,这意味着变量存在于
级别,并且该类型的每个对象都不会获得自己的实例

数组
只是一种用于保存某种类型的多个值的数据结构

因此,
静态数组
只是一个类级别的数组,可以容纳多种数据类型

例如:

在您的
TravelRoute
课程中,您可以在一条路线中设置多个可能的目的地。可以这样定义:

class TravelRoute {
    public static Destination[] possibleDestinations = 
           new Destination[]{
                 new Destination("New York"),
                 new Destination("Minneapolis"),
                 new Destination("NParis")
           };
}
这将定义
旅行路线上可能的目的地。然后,您可以像这样访问阵列:

Destination one = TravelRoute.possibleDestinations[0];
就其本身而言,静态数组没有什么特别之处(据我所知),这可能就是为什么您很难找到关于它们的好文章的原因。如果我错了,请纠正我,但我想知道您是否对“静态”部分最感兴趣?基本上,静态意味着成员存在于类级别而不是实例级别,因此静态数组将是属于类的数组(而不是类的实例)

例如:

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};

     }
}

您可能是指固定大小的阵列吗

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

如果是这样的话,通过使用固定大小的数组作为查询,您将获得更多的搜索结果:)

也许您正在寻找“静态”的定义?固定大小的数组是我最终理解的静态数组,所以感谢mattDavey的输入!这很讨人喜欢