Monday, 5 March 2018

013 C# Array

C # tutorial 013 Array
Array is a group of element, collected together to hold similar type of values or object. Array is a kind of object which can hold multiple inbuilt value or objects in its. Array comes under the namespace System. Array has a property called index , Index help to access a particular position of array. Array object can be access through looping also.

Example 1

int[] student;
string[] student1;
byte[] student2;
bool[] student3;
char[] student4;

Array is an object which can be simple or complex depending upon declaration. We can declare an array only, later we can initialised this array , and in other hand, we can declare and initialised in  same statement also. Here is the example of array declaration. Array has its size, the below example.Here the array size is 10, that means array can be define from 0 to 10. This array can hold 11 elements in it. 

int[] student = new int[10];
string[] student1 = new string[10];
byte[] student2 = new byte[10];
bool[] student3 = new bool[10];
char[] student4 = new char[10];
 
Array size is not fixed, it can be redefined when necessary. The declaration is simple, here are some example of re initialization of array size.

int[] student = new int[10];
string[] student1 = new string[10];
byte[] student2 = new byte[10];
bool[] student3 = new bool[10];
char[] student4 = new char[10];
student = new int[15];
student1 = new string[15];
student2 = new byte[15];
student3 = new bool[15];
student4 = new char[15];

Multidimensional Array : The previous example shows the examples of simple Linear array. Array can have more than one dimension to hold more complex data structure. 



int[] student = new int[10];//one dimentional
int[,] student1 = new int[10, 10];//two dimentioal
int[, ,] student2 = new int[10, 10, 10];//three dimentional
int[, , ,] student3 = new int[10, 10, 10,10];//four dimentional

int[,] student = new int[2, 2] {
{0, 1} ,
{3, 5}
};


string[,] student1 = new string[2, 2] {
{"val1", "val2"} ,
{"val3", "val4"}
};


bool[,] student2 = new bool[3, 2] {
{true, false} ,
{true, true},
{false,false}
};



Rectangular Array: Rectangular array is with rectangular format. This array have a length, and each index contain equal number of element of same length. It is a tabular format of equal number of row and column . In rectangular array number of row equal to the number of column each row. The below example of multiple type of declaration of rectangular array. It can be one dimensional, two dimensional or three dimensional. 


int[,] student = new int[2, 2] {
{0, 1} ,
{3, 5}
};


string[,] student1 = new string[2, 2] {
{"val1", "val2"} ,
{"val3", "val4"}
};


bool[,] student2 = new bool[3, 3] {
{true, false,false} ,
{true, true,true},
{false,false,false}
};

Jagged Array : Jagged does not contain equal number of column in each row. It does not guarantee that number of column would be same in each row.Rather is content different column size in different row, it is a kind of array of arrays. It can be defined with, parenthesis depending upon the requirement. Below is the example of Jagged array. 

string[][] student = new string[3][];
student[0] = new string[2];
student[1] = new string[3];
student[2] = new string[2];


student[0] = new string[] { "val1", "val2" };
student[1] = new string[] { "val3", "val4", "val5"};
student[2] = new string[] { "val6", "val7" };
Array Boundary : Array have is its boundary, it can be upper or lower. We get upper and lower boundary of and array by the method GetUpperBound() and GetLowerBound(). Below is example of upper and lower boundary. The boundary tales the upper and lower limit of Array size. 

int[] student = new int[] { 1, 2, 3, 4, 5 };
int lower_bound = student.GetLowerBound(0);
int upper_bound = student.GetUpperBound(0);

Console.WriteLine(lower_bound);
Console.WriteLine(upper_bound);

//Output :0
//Output :4
Looping through Array : We can you access array data by the help of loop. We can read its each object of an array loop statement. Depending upon the dimension of the array , number of the loop required. For a single linear loop, a single loop is required, for a two dimensional array ,two loop is required. Here is the example of loop statement true array. 

Example 1

int[] student = new int[] { 1, 2, 3, 4, 5 };
for (int i = 0; i < student.Length; i++)
{
     Console.WriteLine(student[i]);
}
//Output :1
//Output :2
//Output :3
//Output :4
//Output :5

Example 2
string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };


for (int i = 0; i < student.GetLength(0); i++)
{
             for (int j = 0; j < student.GetLength(1); j++)
            {
                      string GetVal = student[i, j].ToString();
                      Console.WriteLine(GetVal.ToString());
        }
}
//Output :val1
//Output :val2
//Output :val3
//Output :val4

foreach Loop : foreach loop also applied on array to access array element. From a simple Linear array to a complex multidimensional array, for each loop works. 

 Example 1

int[] student = new int[] { 1, 2, 3, 4, 5 };
 
foreach (int i in student)
{
      Console.WriteLin(i.ToString());
}
//Output :1
//Output :2
//Output :3
//Output :4
//Output :5



Passing Array as Argument : Array can be pass as an argument of a function or method. This technique can be off two type, pass by value or pass by reference. When pass by value is used, the entire value is copied to the method variable. Only copy is done from original variable to the method variable. Original variable remain unaffected. When pass by Reference is used, the original memory location of the the variable is passed through the method. If any value change in the method, the original  variable will be affected. Here are the example of pass by value and pass by reference. 

 Example 1

string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };
double CalCulateFees(string[,] param1)
{
   return 0.0;
}


 Example2
string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };
double CalCulateFees(ref string[,] param1)
{
      return 0.0;
}




Return Array : A function on Method can return array. The signature of the function on method will be the return type of that array. Here is the example of function return array. 

public string[,] CalCulateFees( )
{
      string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };
      return student;
}
Array value assignment: array value can be a sign by simple operator. Another way to assign array value by using set value method. Hear that the example of array value array value assignment. 
 Example 1
int[] student = new int[] { 1, 2, 3, 4, 5 };
student[2] = 99;
Console.WriteLine(student[2]);

 Example 2
 
string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };


for (int i = 0; i < student.GetLength(0); i++)
{
             for (int j = 0; j < student.GetLength(1); j++)
             {
                if (i==1 && j==1)
                student[i, j] = "Hellow World";
          }
};
Console.WriteLine(student[1, 1]);
//Output :Hellow World

Array is a base class which comes under the namespace system. Array class contain a number of property and method to make development speedy and easier. Array base class content almost all useful method for array manipulation and development. Here is the most useful properties and methods of array class which use is very common. 

Properties 

IsFixedSize  :  Returns a value , indicating whether the Array has a fixed size.

int[] student = new int[2];
Console.WriteLine(student.IsFixedSize);
//Output :True


IsReadOnly  :  Returns a value indicating whether the Array is read-only.

int[] student = new int[2];
Console.WriteLine(student.IsReadOnly);
//Output :False

Length   :     Returns the total number of elements in all the dimensions of the Array.
int[] student = new int[2];
Console.WriteLine(student.Length); 
//Output :2


Rank    :  Returns  the rank (number of dimensions) of the Array. For example, a one- dimensional    array returns 1, a two-dimensional array returns 2, and so on.

int[] student = new int[2];
Console.WriteLine(student.Rank);
 //Output :1



Methods
GetValue : Returns value at the specified position in the multidimensional Array
 
string[,] student = new string[2, 2] { { "val1", "val2" }, { "val3", "val4" } };
Console.WriteLine(student.GetValue(1, 1).ToString());
//Output :val4


SetValue :Sets a value to the element at the specified position in the multidimensional Array

string[] student = new string[] { "1", "2", "3", "4", "5" };
student.SetValue("Hellow World",0);
Console.WriteLine(student[0]);
///Output :Hellow World

Sort :Sorts the elements in an entire one-dimensional Array.

int[] student = new int[5] { 99, 66, 77, 11, 22 };
Array.Sort(student);
// write array
foreach (int i in student)
Response.Write(i + " ");
// output: 11
// output: 22
// output: 66
// output: 77
// output: 99


Copy :Copies a range of elements from an Array starting at the first element and pastes them into another Array starting at the first element.

int[] student = { 1, 2, 3, 4, 5 };
int[] student1 = new int[10];
student1.CopyTo(student, 0);


Reverse : Reverses the sequence of the elements in the entire one-dimensional Array.
ToString() Returns a string that represents the current object

int[] student = { 1, 2, 3 };
Array.Reverse(student);


foreach (int val in student)
{
Console.WriteLine(val);
}


GetUpperBound : Gets the index of the last element of the specified dimension in the array.

int[] student = new int[] { 1, 2, 3, 4, 5 };
int upper_bound = student.GetUpperBound(0);
Console.WriteLine(upper_bound);

//Output :4


GetLowerBound : Returns the index of the first element of the specified dimension in the array.

int[] student = new int[] { 1, 2, 3, 4, 5 };
int lower_bound = student.GetLowerBound(0);
Console.WriteLine(lower_bound);
//Output :0


ForEach :  For each loop through loop.







No comments:

Post a Comment

বাঙালির বেড়ানো সেরা চারটি ঠিকানা

  বাঙালি মানে ঘোড়া পাগল | দু একদিন ছুটি পেলো মানে বাঙালি চলল ঘুরতে | সে সমুদ্রই হোক , পাহাড়ি হোক বা নদী হোক। বাঙালির ...