数组是相同类型变量的集合。而字符串是Unicode字符或字符数组的序列。因此,字符串数组就是字符数组的数组。在这里,字符串数组和字符串数组两者都是相同的术语。
例如,如果要存储班级学生的姓名,则可以使用字符串数组。字符串数组可以是一维或多维。
声明字符串数组:有两种方法来声明字符串的阵列如下
- 没有大小的声明:
句法:
String[] variable_name;
or
string[] variable_name;
- 声明尺寸:
句法:
String[] variable_name = new String[provide_size_here];
or
string[] variable_name = new string[provide_size_here];
例子:
// declaration using string keyword
string[] s1;
// declaration using String class object
// by giving its size 4
String[] s2 = new String[4];
字符串数组的初始化:可以在声明后初始化数组。不必使用new关键字同时声明和初始化。但是,在声明后初始化数组时,必须使用new关键字对其进行初始化。不能仅通过分配值来初始化它。
例子:
// Declaration of the array
string[] str1, str2;
// Initialization of array
str1 = new string[5]{ “Element 1”, “Element 2”, “Element 3”, “Element 4”, “Element 5” };
str2 = new string[]{ “Element 1”, “Element 2”, “Element 3”, “Element 4”, “Element 5” };
注意:不给出大小的初始化在C#中无效。它将给出编译时错误。
示例:初始化数组的声明错误
// compile-time error: must give size of an array
String[] str = new String[];
// error : wrong initialization of an array
string[] str1;
str1 = {“Element 1”, “Element 2”, “Element 3”, “Element 4” };
访问字符串元素数组:在初始化时,我们可以分配值。但是,我们也可以在声明和初始化之后使用数组的索引随机分配数组的值。我们可以通过索引来访问数组值,将元素的索引放在带有数组名称的方括号内。
例子:
// declares & initializes string array
String[] s1 = new String[2];
// assign the value "Geeks" in array on its index 0
s1[0] = 10;
// assign the value "GFG" in array on its index 1
s1[1] = 30;
// assign the value "Noida" in array on its index 2
s1[2] = 20;
// Accessing array elements using index
s1[0]; // returns Geeks
s1[2]; // returns Noida
在单行中声明和初始化字符串数组:也可以在单行中声明和初始化字符串数组。推荐使用此方法,因为它减少了代码行。
例子:
String[] weekDays = new string[3] {"Sun", "Mon", "Tue", "Wed"};
代码1:字符串数组声明,初始化和访问其元素
// C# program to illustrate the String array
// declaration, initialization and accessing
// its elements
using System;
class Geeks {
// Main Method
public static void Main()
{
// Step 1: Array Declaration
string[] stringarr;
// Step 2:Array Initialization
stringarr = new string[3] {"Element 1", "Element 2", "Element 3"};
// Step 3:Accessing Array Elements
Console.WriteLine(stringarr[0]);
Console.WriteLine(stringarr[1]);
Console.WriteLine(stringarr[2]);
}
}
输出:
Element 1
Element 2
Element 3
代码2:单行中的数组声明和初始化
// C# code to illustrate Array declaration
// and initialization in single line
using System;
class Geeks {
// Main Method
public static void Main()
{
// array initialization and declaration
String[] stringarr = new String[] {"Geeks", "GFG", "Noida"};
// accessing array elements
Console.WriteLine(stringarr[0]);
Console.WriteLine(stringarr[1]);
Console.WriteLine(stringarr[2]);
}
}
输出:
Geeks
GFG
Noida
笔记:
- 在
public static void main(String[] args)
, String [] args也是字符串的数组。示例:要显示String [] args是字符串的数组。
// C# program to get the type of "args" using System; class GFG { // Main Method static public void Main (String[] args) { // using GetType() method to // get type at runtime Console.WriteLine(args.GetType()); } }
输出:
System.String[]
- C#字符串数组基本上是对象数组。
- 使用字符串关键字还是String类对象创建字符串数组都没关系。两者都是一样的。
例子:
// C# program to get the type of arrays of // strings which are declared using 'string' // keyword and 'String class object' using System; class GFG { // Main Method static public void Main (String[] args) { // declaring array of string // using string keyword string[] s1 = {"GFG", "Noida"}; // declaring array of string // using String class object String[] s2 = new String[2]{"Geeks", "C#"}; // using GetType() method to // get type at runtime Console.WriteLine(s1.GetType()); Console.WriteLine(s2.GetType()); } }
输出:
System.String[] System.String[]