Advertisement
Guest User

Untitled

a guest
Aug 29th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Array__Indexator_and_Property_
  8. {
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14.  
  15. namespace AnyIndexOfArray
  16. {
  17. class RangeArray
  18. {
  19. int[] a;
  20. public int lowI { get; private set; }
  21. public int highI { get; private set; }
  22.  
  23. public RangeArray(int low, int high)
  24. {
  25. if (low > high)
  26. {
  27. Console.WriteLine("Input a correct index of array!\n High index must be more than low!");
  28. a = new int[0];
  29. Length = 1;
  30. }
  31. else
  32. {
  33. high++;
  34. a = new int[high - low];
  35. Length = high - low;
  36. highI = --high;
  37. lowI = low;
  38. }
  39. }
  40.  
  41. public int Length { get; private set; }
  42.  
  43. public bool Error { get; private set; }
  44.  
  45. //Индексатор для класса
  46. public int this[int index]
  47. {
  48. get
  49. {
  50. if (ok(index))
  51. {
  52. Error = false;
  53. return a[index-lowI];
  54. }
  55. else
  56. {
  57. Error = true;
  58. return 0;
  59. }
  60. }
  61. set
  62. {
  63. if (ok(index))
  64. {
  65. Error = false;
  66. a[index-lowI] = value;
  67. }
  68. else
  69. {
  70. Error = true;
  71. }
  72. }
  73. }
  74.  
  75. //Проверить нахождение индекса в длине массива
  76. public bool ok(int index)
  77. {
  78. if (index >= lowI && index < highI) return true;
  79. else return false;
  80. }
  81.  
  82.  
  83. }
  84. class Program
  85. {
  86. static void Main(string[] args)
  87. {
  88. RangeArray Arr = new RangeArray(-5,5);
  89. Console.WriteLine("Low=-5, High =5, \nArray is");
  90. Console.WriteLine("Length of array is " + Arr.Length);
  91. for (int i = -5; i < Arr.Length; i++)
  92. {
  93. Arr[i] = i * 10;
  94. if (!Arr.Error) Console.WriteLine("Arr[" + i + "]=" + Arr[i]);
  95. else Console.WriteLine("Error in {0} element of array.", i);
  96. }
  97. Console.WriteLine("Low=10, High =7, \nArray is");
  98. RangeArray Arr2 = new RangeArray(10, 7);
  99. Console.WriteLine("Length of array is " + Arr2.Length);
  100. for (int i = Arr2.lowI; i <=Arr2.highI; i++)
  101. {
  102. Arr[i] = i * 10;
  103. if (!Arr.Error) Console.WriteLine("Arr[" + i + "]=" + Arr[i]);
  104. else Console.WriteLine("Error in {0} element of array.", i);
  105. }
  106. Console.ReadKey();
  107. }
  108. }
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement