我一直在寻找一个体面的静态数组定义。我试过使用 msdn 和 c# 源,但似乎找不到定义。它给出了例子,但没有定义......
请问有人知道静态数组的任何链接或定义和特征吗?
我一直在寻找一个体面的静态数组定义。我试过使用 msdn 和 c# 源,但似乎找不到定义。它给出了例子,但没有定义......
请问有人知道静态数组的任何链接或定义和特征吗?
当您谈论“静态数组”时,您实际上是在谈论两个不同的事情。
一个是static
关键字。当应用于变量时,这意味着变量存在于该class
级别,并且该类型的每个对象都不会获得自己的实例。
Anarray
只是一种用于保存某种类型的多个值的数据结构。
因此,astatic array
只是一个类级别的数组,可以保存多个某种数据类型。
例如:
在您的TravelRoute
班级中,您可能在路线中有一定数量的可能目的地。这些可以这样定义:
class TravelRoute {
public static Destination[] possibleDestinations =
new Destination[]{
new Destination("New York"),
new Destination("Minneapolis"),
new Destination("NParis")
};
}
这将定义 a 上可能的目的地TravelRoute
。然后,您可以像这样访问数组:
Destination one = TravelRoute.possibleDestinations[0];
您可能是指固定大小的数组吗?
unsafe struct Foo
{
fixed int Values[8];
}
如果是这样,您将通过使用固定大小的数组作为查询来获得更多搜索结果:)
静态数组本身并没有什么特别之处(据我所知),这可能就是为什么你很难找到关于它们的好文章的原因。如果我错了,请纠正我,但我想知道它是否是您最感兴趣的“静态”部分?基本上,静态意味着成员存在于类级别而不是实例级别,因此静态数组将是属于类(而不是类的实例)的数组。
例子:
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};
}
}