Úvod do řetězce řetězců v C #
Abychom pochopili String Array v C #, nejprve pochopíme, co je pole a řetězec.
Pole : K souboru stejných typů proměnných uložených postupně a ke každé proměnné lze přistupovat pomocí indexového čísla. Indexování pole začíná nulou.
Například pole pěti celých čísel
String Array: Je to řada řetězců. Jako řetězec jmen jmen zaměstnanců: Řetězec: Pole znaků.
- Je pevná
- Může být jednoduchá nebo vícenásobná
Syntaxe deklarace
Existují dva způsoby deklarace řetězce řetězců:
1. Prohlášení o velikosti
Pomocí objektu třídy String:
String() variable_name = new String(size);
Pomocí klíčového slova řetězec:
string() variable_name = new string( size );
2. Prohlášení bez velikosti
String() variable_name;
string() variable_name;
Inicializace řetězce řetězců
Pole řetězců lze inicializovat pomocí nového klíčového slova. Nemůžeme inicializovat pole řetězců, aniž bychom určili jeho velikost. Existují dva způsoby inicializace řetězce řetězců.
1. V době prohlášení:
string() variable_name = new string( size );
2. Po prohlášení:
string () variable_name ;
variable_name = new string( size );
Přiřazení hodnot
Hodnoty pole řetězců lze přiřadit při inicializaci nebo pomocí indexového čísla.
Příklad:
string() stringer = new stringArr(3)(“value1”, ”value2”, ”value3”);
NEBO
string() stringArr = new stringArr(3);
stringArr(0) = “value1”;
stringArr(1) = “value2”;
stringArr(2) = “value3”;
Příklady řetězce řetězců v C #
Některé příklady jsou uvedeny níže:
Přístup k prvkům pole pomocí indexového čísla
using System;
public class StringArray
(
public static void Main()
(
// Array Declaration and Initialization
string() stringArr = new string(3) ("value1", "value2", "value3");
// Accessing elements using index
Console.WriteLine(stringArr(0));
Console.WriteLine(stringArr(1));
Console.WriteLine(stringArr(2));
)
)
Výstup :
Přístup k prvkům pole pomocí smyčky
using System;
public class StringArray
(
public static void Main()
(
// Array Declaration and Initialization
string() stringArr= new string(3) ("element1", "element2", "element3");
// Accessing elements using for loop
for(int i=0;i (
Console.WriteLine(stringArr(i));
)
)
)using System;
public class StringArray
(
public static void Main()
(
// Array Declaration and Initialization
string() stringArr= new string(3) ("element1", "element2", "element3");
// Accessing elements using for loop
for(int i=0;i (
Console.WriteLine(stringArr(i));
)
)
)
Výstup:
- Kromě toho můžeme provádět řadu operací na řetězcových polích, jako je vyhledávání, třídění, převod řetězce řetězců na řetězec nebo převod řetězců na řetězec a mnoho dalších. Ukážeme si některé z těchto operací v níže uvedených příkladech:
- Hledání v poli řetězců: Existuje mnoho způsobů, jak hledat slovo, nebo můžeme říci řetězec v poli řetězců. Jeden používá metodu Find () třídy Array. Tato metoda vrací první prvek v poli, který odpovídá podmínkám definovaným zadaným predikátem
Příklad :
using System;
public class StringSearch
(
public static void Main()
(
try (
// Creating and initializing string array of flower names
String() flowerArr = new String()("Lily", "Jasmine", "Rose", "Sunflower");
// Print values of the string array
Console.WriteLine("Flower names:");
for (int i = 0; i < flowerArr.Length; i++)
(
Console.WriteLine("(0)", flowerArr(i));
)
Console.WriteLine();
//Search for flower name that starts with 'R'
string result = Array.Find(flowerArr, name => name.StartsWith("R", StringComparison.CurrentCultureIgnoreCase));
//Print result
Console.Write("Flower name starting with 'R': (0)", result);
)
catch (Exception e)
(
Console.Write("(0)", e.Message);
)
)
)
Výstup:
Třídění v řetězci: Můžeme třídit pole řetězců mnoha způsoby. Tady to třídíme pomocí Array.Sort ()
Příklad:
using System;
public class StringSort
(
public static void Main()
(
try
(
// declaring and initializing string array
String() stringArr = new String() ("Cat", "Creature", "Culture", "Cow");
// Sorting in ascending order.
Array.Sort(stringArr);
// reverse array to sort it in descending order
Array.Reverse(stringArr);
// print sorted array
foreach(string val in stringArr)
(
Console.Write(val + " ");
)
)
catch(Exception ex)
(
Console.Write(ex.Message);
)
)
)
Výstup:
Převod řetězce na pole řetězců: Můžeme snadno převést řetězec na pole řetězců a naopak, jak je ukázáno v následujících příkladech:
Příklad:
using System;
public class StringToStringArray ( public static void Main()
(
try
(
string str = "Hello world";
//convert string to string array
string() strArr = new string()( str );
//print string array
foreach(string s in strArr)
(
Console.Write(s);
)
)
catch(Exception ex)
(
Console.Write(ex.Message);
)
)
)
Výstup:
Zobrazený výstup není řetězec, ale pole řetězců. Příklad převodu řetězce řetězců na řetězec:
using System;
public class StringArrayToString ( public static void Main()
(
try(
)
string() strArr = new string(2); strArr(0) = "Good";
strArr(1) = "Morning!";
//converting string array to string
string str = string.Join("", strArr);
//print string
Console.WriteLine(str);
catch(Exception ex)
(
Console.Write(ex.Message);
)
)
)
Výstup:
Pole řetězců a seznam řetězců
Z výše uvedených příkladů můžeme říci, že pole řetězců je velmi podobné seznamu řetězců. Zde jsou však dva hlavní rozdíly:
- Nelze změnit velikost řetězce řetězců e. Pokud máte pole řetězců o velikosti čtyři, pak do něj nemůžete přidat pět prvků. Na druhou stranu lze změnit velikost seznamu kdykoli, můžete přidat tolik prvků, kolik chcete do seznamu.
- Seznam je pomalejší než pole, takže operace prováděné na poli řetězců budou rychlejší než operace
Můžeme převést řetězec do seznamu, jak je uvedeno níže:
using System;
using System.Collections.Generic;
using System. Linq;
public class StringArrayToList
(
public static void Main()
(
string() strArray = new string()( "string", "array", "to", "list");
//converting string array to list
List list = strArray.ToList();
//print list
foreach (string item in the list)
(
Console.WriteLine(item);
)
)
)
Výstup:
2D řetězcové pole
C # také podporuje vícerozměrné řetězcové pole, nejjednodušší formou vícerozměrného řetězce je 2D řetězcové pole.
Příklad:
using System;
public class TwoDimensionalArray
(
public static void Main()
(
string(, ) strArr = new string(, ) (
("Twenty", "Forty"),
("Thirty", "Fifty")
);
for (int i = 0; i <= strArr.GetUpperBound(0); i++)
(
string s1 = strArr(i, 0); string s2 = strArr(i, 1);
Console.WriteLine("(0), (1)", s1, s2);
)
)
)
Závěr
- Řetězcové pole v C # se používá k ukládání více řetězců pod jeden
- Dvourozměrné řetězcové pole se používá k reprezentaci jakéhokoli typu matice
- Výkon řetězce řetězců je rychlejší než jiné kolekce používané k ukládání
- Jsou silně
Doporučené články
Toto je průvodce String Array v C #. Zde diskutujeme zavedení řetězce řetězců v C #, syntaxi deklarace, inicializaci řetězce řetězců a příklady. Další informace naleznete také v dalších navrhovaných článcích -
- Fibonacciho série v C #
- C # Jagged Arrays
- Pole v programování v C
- C # Řetězcové funkce
- Fibonacciho řada v Javě
- Reverzní JavaScript
- C Programovací násobení matic
- Top 8 Srovnání String vs StringBuilder
- Pole v unixu Jak Array funguje v Unixu?