【发布时间】:2020-08-28 07:38:13
【问题描述】:
我尝试指定数组的边界:
public string[] scaleChanged()
{
int j =0;
for(int i=0;i<42;i++)
{
if(MinScale == ItemScale[i]) //MinScale is the min value I want to use to start array
{
ItemsScale[j] = MinScale; //ItemScal is an array of 42 string
for(int h =0; h<42-i; h++)
{
ItemScale[j+1] = ItemScale[i];
j++;
if(ItemScale[j] == MaxScale) //MaxScale is my max value I want to use for stop my array
{
return ItemScale[ ???MinScale to MaxScale];
}
}
}
}
}
所以我从允许我指定数组边界的服务器中恢复 2 个值。
所以我尝试用这两个值定义一个新数组作为边界。我精确地说,这个“两个值”总是在我的 ItemScale 数组中的任何地方声明(这就是我使用比较的原因)。
【问题讨论】:
-
您是在问如何获取数组的子集吗?请参阅here。如果您只是想创建一个具有任意下限和上限的数组,那么这是不可能的。只能定义数组的长度,下限始终为0。
-
@John - 我相信他们在问如何设置数组的范围,例如编号从
x开始,然后转到y。 -
您可以使用数组和偏移量创建自己的类型。
-
C# 没有这种功能。数组有长度并且从零开始。您可以编写一个类来实现它,但这对于基本上是语法糖的东西来说有点费力。
-
@John 好的,所以解决方案是确定我的 MinScale 和我的 MaxScale 之间的值的数量。有了这个长度,我可以确定我的新数组。