Introduktion till Arrays i C #
En matris är en uppsättning objekt. Elementen som finns i en matris är av samma datatyp. Det kan vara int, float, char, etc. Konceptet Arrays i C # kommer till för att undvika det besvärliga att lagra olika värden genom att göra olika variabler.
23 | 56 | 32 | 54 | 1 |
0 | 1 | 2 | 3 | 4 |
Indexet för en matris börjar från 0 och indexet för en matris kommer att ökas baserat på den specifika storleken på arrayen. Om vi har en matris med längd 5 börjar matrisen från index 0 och slutar på index 4. Så arrayens längd definierar antalet element i den arrayen.
Hur fungerar Array i C #?
I C # kan matrisens längd vara fixerad eller dynamisk. I en grupp med fast längd kan ett fast antal objekt lagras. I dynamisk matrisstorlek ökar när nya objekt kommer till arrayen, eftersom minnesallokering av en matris är dynamisk. I matriser lagrar stapelminnet variabeln i matris medan hanterad heap lagrar elementen. I C # härleds array från System. Array klass. Om vi har ett heltal array så har alla element sina respektive värde och eftersom en matris i C # är en referens typ kommer elementen att ha en referens till faktiska objekt.
Hur skapar jag en matris i C #?
Syntax of a Array: data_type () name_of_array
1. Förklaring om en matris
Koda:
class Name
(
static void Main(string()args)
(
Int32() intarray; //array declaration
)
)
Kodförklaring: I Array-deklarationen är den första delen datatyp som definierar typen av objekt i en matris. Den andra delen är () som definierar antalet objekt i en matris och sedan nästa är namnet på array som är int array i detta fall
2. Arrayinitialisering
Koda:
class Name
(
static void Main(string()args)
(
Int32() Intarray; //array declaration
Intarray = new Int32(4); // array initialization
Intarray(0)= 23; // assigning values to the elements
Intarray(1)=5;
Intarray(2)=88;
Intarray(3)=6;
)
)
Kodförklaring: I arrayinitialisering måste vi ange antalet värden i en matris med fyrkantiga parenteser och tilldela dessa värden till varje element i en array. Så här innebär intarray (0) att vi tilldelar ett värde i den första positionen, intarray (1) betyder att tilldela värden i den andra positionen och så vidare.
3. Visar värden på Array
Koda:
class Name
(
static void Main(string()args)
(
Int32() Intarray; //array declaration
Intarray = new Int32(4); //array initialization
Intarray(0)= 23; //assigning values to array
Intarray(1)=5;
Intarray(2)=88;
Intarray(3)=6;
Console.WriteLine(Intarray(0));
Console.WriteLine(Intarray(1));
Console.WriteLine(Intarray(2));
Console.WriteLine(Intarray(3));
Console.ReadKey();
)
)
Kodförklaring: Console.WriteLine är en metod för att visa varje värde i en matris i konsolen.
Exempel på Arrays
Exempel och resultaten i C # visas nedan
Exempel 1
Koda:
using System;
namespace ArrayDemo
(
class Name
(
static void Main(string() args)
(
Int32() Intarray; // array declaration
Intarray = new Int32(4); // array initialization
Intarray(0) = 23; // assigning values to the array element
Intarray(1) = 5;
Intarray(2) = 88;
Intarray(3) = 6;
Console.WriteLine(Intarray(0));
Console.WriteLine(Intarray(1));
Console.WriteLine(Intarray(2));
Console.WriteLine(Intarray(3));
Console.ReadKey();
)
)
)
I ovanstående kod deklareras och initieras matrisen med fyra element och Console.WriteLine visar alla värden.
Produktion:
Exempel 2
Koda:
using System;
namespace Demo
(
class Array
(
static void Main(string() args)
(
int() arr = new int(4) ( 10, 20, 30, 40 );
for (int i = 0; i < arr.Length; i++) // Traverse array elements
(
Console.WriteLine(arr(i));
)
)
)
)
I koden ovan initialiseras och deklareras matrisen med fyra element och sedan används looping för att komma åt elementen i matrisen.
Produktion:
Exempel 3
Vi kan också använda förhand för att få tillgång till elementen i matrisen
Koda:
using System;
namespace Demo
(
class Array
(
static void Main(string() args)
(
int() arr = new int(4) ( 10, 20, 30, 40 );
foreach (int i in arr)
(
Console.WriteLine(i);
)
)
)
)
Produktion:
Typer av array i C #
I C # har vi flera typer av matriser:
- Enfaldig matris.
- Multi-dimension array.
- Jagged matris.
Ovanstående exempel är av enkeldimension-array.
Multidimension Array
I rektangulära matriser eller flerdimensionella matriser lagras data i tabellform
Int(, ) intArray = new int(4, 3)
I detta har vi angett storleken på matrisen med fyra rader och tre kolumner.
1. Deklaration av multidimensionella matriser
int(, ) array = new int(3, 3); //declaration of 2D array
int(,, ) array=new int(3, 3, 3); //declaration of 3D array
2. Initiering av flerdimensionell matris
int(, ) array = new int(3, 3); //declaration of 2D array
array(0, 1)=10; //initialization
array(1, 2)=20;
array(2, 0)=30;
Exempel på flerdimensionell matris
Koda:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int(, ) intArray = new int(3, 2)(
(1, 2),
(2, 4),
(4, 8)
);
Console.WriteLine(intArray(0, 0));
Console.WriteLine(intArray(0, 1));
Console.WriteLine(intArray(1, 0));
Console.WriteLine(intArray(1, 1));
Console.WriteLine(intArray(2, 0));
Console.WriteLine(intArray(2, 1));
)
)
)
Kodförklaring: I koden ovan specificeras rader och kolumner med tre rader och fyra kolumner och Console.WriteLine visar alla värden.
Produktion:
Jagged Array
Delar av taggade matriser är "array" eftersom det direkt lagrar array.
1. Förklaring av den taggade matrisen
int()() array = new int(3)();
Den första konsolen berättar om storleken och den andra konsolen berättar om dimensionerna på matrisen.
2. Initiera och tilldela värden till de taggade matriserna
array(0) = new int(4) ( 1, 2, 3, 4 );
array(1) = new int(5) ( 1, 2, 3, 4, 5 );
Storleken på elementen kan vara annorlunda.
Nedan är exemplen på den taggade matrisen:
Exempel 1
Koda:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int()() array = new int(2)();// Declare the array
array(0) = new int() ( 1, 2, 6, 8 );// Initialize the array
array(1) = new int() ( 72, 51, 47, 23, 54, 13 );
// Traverse array elements
for (int i = 0; i < array.Length; i++)
(
for (int j = 0; j < array(i).Length; j++)
(
System.Console.Write(array(i)(j) + " ");
)
System.Console.WriteLine();
)
)
)
)
Produktion:
Exempel 2
Koda:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int()() array = new int(3)()(
new int() ( 51, 22, 43, 87 ),
new int() ( 2, 3, 4, 56, 94, 23 ),
new int() ( 4, 5 )
);
// Traverse array elements
for (int i = 0; i < array.Length; i++)
(
for (int j = 0; j < array(i).Length; j++)
(
System.Console.Write(array(i)(j) + " ");
)
System.Console.WriteLine();
)
)
)
)
Utgång :
Arraymetod i C #
Följande punkter är följande:
- Rensa (Array, Int32, Int32) : Den här metoden används för att ställa in elementområdet till standard baserat på typen av element.
- Klon (): Den här metoden används för att skapa en kopia av elementet.
- Copy (Array, Array, Int32): Den här metoden används för att kopiera elementen i en matris till en annan array.
- Lika (objekt): Denna metod kontrollerar i princip om det nämnda objektet är lika med det aktuella objektet.
- Sortera (array): Den här metoden används för att sortera matrisen.
- CreateInstance (Type, Int32): Den här metoden används för att skapa en matris av en viss typ, längd och storlek.
- ToString (): Detta används för att visa strängrepresentation.
- GetType (): Den här metoden används för att returnera typen av objekt.
- IndexOf (Array, Object): Den här metoden används för att söka i det specifika objektet och returnera indexet för den första händelsen i en 1D-array.
- Reverse (Array): Denna metod används för att vända elementets sekvens.
- SetValue (Object, Int32): Den här metoden i 1D-arrayen används för att ställa in värdet på ett element.
Exempel
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ArrayMethod
(
class Program
(
static void Main(string() args)
(
int() arr = new int(6) ( 5, 8, 9, 25, 0, 7 );
// Creating an empty array
int() arr2 = new int(6);
Console.WriteLine("length of first array: " + arr.Length); // length of array
Array.Sort(arr); //sorting array elements
Console.Write("Sorted array elements: ");
PrintArray(arr);
Array.Copy(arr, arr2, arr.Length); // copy elements of one array to other
Console.Write("Second array elements: ");
PrintArray(arr2);
Console.WriteLine("Get Index:\t(0)", Array.IndexOf(arr, 9)); // index of value
Array.Reverse(arr);
Console.Write("\nFirst Array elements in reverse order: "); // reverse the elements of array
PrintArray(arr);
Array.Clear(arr, 0, 6); //set default value of elements
PrintArray(arr);
)
static void PrintArray(int() arr)
(
foreach (int i in arr)
(
Console.Write("\t(0)", i);
)
Console.WriteLine("\n");
)
)
)
Kodförklaring: Koden ovan visar flera metoder för matrisen där arr. Längd används för att få längden som är lika med 6, Array. Sortering ger värdena i sorterad form. Array. Kopiera kopierar värdena från den första arrayen till den andra arrayen. Array. Det omvända visar arrayen i omvänd ordning medan Clear anger standardvärdena för elementen.
Produktion:
Slutsats
Så det är bättre att deklarera en matrisvariabel istället för att förklara för många olika variabler eftersom element i minnet lagras i följd vilket gör det snabbare. Det är också lätt att korsa, manipulera och sortera data med hjälp av matriser.
Rekommenderade artiklar
Detta är en guide till Arrays i C #. Här diskuterar vi hur man skapar matriser i c #, typer av array, metoder och exempel. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-
- C # Kommandon
- C # funktioner
- C # Lista vs Array
- Matriser i C ++
- Flerdimensionell matris i C.
- Multidimensionell matris i Python
- Arrays i PHP
- Flerdimensionella matriser i C ++ med exempel