RangeArray = new RangeArray(-5, 10); // ' -5 10 for(int i=-5; i <= 10; i++) ra[i] = i; // -5
, RangeArray -5 10 . , . , -5 10.
RangeArray RangeArrayDemo, . RangeArray , int, .
/* . RangeArray , . RangeArray . . , , -5 5, 1 10 50 56. */
Using System;
class RangeArray {
// .
int[] ; // int lowerBound; // int upperBound; //
// Length, public int Length { get; private set; }
// Error, public bool Error { get; private set; }
// , public RangeArray(int low, int high) { high++;
if (high <= low) {
Console.WriteLine(" ");
high =1; // low = 0;
}
= new int[high - low];
Length = high - low;
lowerBound = low; upperBound = --high;
// RangeArray. public int this[int index] {
// get. get {
if(ok(index)) {
Error = false;
return a[index - lowerBound];
} else {
Error = true; return 0;
}
}
// set. set {
if(ok(index)) {
a[index - lowerBound] = value;
Error = false;
}
else Error = true;
}
}
// true, // , private bool ok(int index) {
if(index >= lowerBound & index <= upperBound) return true; return false;
}
}
// // , class RangeArrayDemo { static void Main() {
RangeArray ra = new RangeArray(-5, 5);
RangeArray ra2 = new RangeArray(1, 10);
RangeArray ra3 = new RangeArray(-20, -12);
// .
Console.WriteLine(" : " + .Length); for(int i = -5; i <= 5; i++)
[i] = i;
Console.Write(" : "); for(int i = -5; i <= 5; i++)
|
|
Console.Write(ra[i] + " ");
Console.WriteLine("\n");
// ra2 .
Console.WriteLine(" 2: " + ra2.Length); for(int i = 1; i <= 10; i++) ra2[i] = i;
Console.Write(" ra2: "); for(int i = 1; i <= 10; i++)
Console.Write(ra2[i] + " ");
Console.WriteLine("\n");
// .
Console.WriteLine(" : " + .Length); for(int i = -20; i <= -12; i++) ra3[i] = i; >
Console.Write(" : "); for (int i = -20; i <= -12; i++)
Console.Write(ra3[i] + " ");
Console.WriteLine("\n");
}
}
.
: 11
: -5-4-3-2-1012345 2: 10
2: 12345678910 : 9
: -20 -19 -18 -17 -16 -15 -14 -13 -12
, RangeArray , , . RangeArray.