#c# #string
Вопрос:
Я новичок в C#. Я пытаюсь объявить char
массив, содержащий несколько строковых значений. При попытке использовать ToCharArray()
метод для копирования строки в массив символов он возвращает массив символов строки. Однако я получаю сообщение об ошибке, в котором говорится, что он не может неявно преобразоваться char[]
в char
.
Вот код, который я написал:
char[] country= new char[5]; country[1] = "japan".ToCharArray(); country[2] = "korea".ToCharArray();
Это работает, когда я пишу это так:
char[] country= "japan".ToCharArray();
но я хочу использовать его в массиве, чтобы я мог рандомизировать и выбрать элемент из любого из 5 назначенных значений. Я был бы очень признателен, если бы кто-нибудь мог помочь, спасибо.
Комментарии:
1. Вам нужен массив строк
string[]
или массив символов двух измеренийchar[][]
2. как бы вы преобразовали массив символов в один символ ? какой из них вы бы выбрали? это преобразование не имеет никакого смысла .
3. В последнем разделе вы рассказываете, что вы хотите с ним сделать. Если это то, чего вы на самом деле хотите, вам для этого не нужен массив символов. Простого массива строк было бы достаточно. строка имеет индексатор, из которого вы можете извлечь один символ, для этого вам не нужен массив символов.
Ответ №1:
Я полагаю, что вы пытаетесь создать массив массивов символов:
char[][] countries = new char[5][]; countries[1] = "japan".ToCharArray(); countries[2] = "korea".ToCharArray();
Ответ №2:
Каждый элемент массива состоит из одного символа. Итак, страна[0] — это «j», страна[1] — «a» и так далее.
с
country[1] = "japan".ToCharArray();
вы пытаетесь поместить массив в символ и выдаете ошибку. Возможно, вам нужен список символов. Таким образом, вы можете использовать массив массива или список стран. для первой страны, например
Listlt;stringgt; country = new Listlt;stringgt;() { "japan", "korea" }; var random = new Random(); var character = country[0][random.Next(0, country[0].Length)];