C # - действительно ли строка является массивом символов или просто имеет индексатор? - PullRequest
14 голосов
/ 08 сентября 2010

Поскольку в C # возможен следующий код, меня интересует, является ли строка массивом символов:

string a="TEST";
char C=a[0]; // will be T

Ответы [ 12 ]

1 голос
/ 08 сентября 2010

A string не является массивом char с, пока вы не преобразуете его в единицу. Обозначение просто используется для доступа к символам в разных позициях (индексах) в строке.

0 голосов
/ 08 сентября 2010

Каждый дал половину ответа, поэтому вот обе части:

1) Строго говоря, да, строка в .NET - это массив символов.Это так и в его внутренней реализации, и в силу смыслового определения массива.

2) Однако, как указывали другие, String несколько своеобразен.Это не System.Array, как все остальные массивы.Таким образом, в строгом, специфическом для .NET формате String не является массивом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...