Member 13432676 Ответов: 3

Как вы используете string. substring?


У меня есть задача, которую я должен решить. задача такова :
Напишите программу на языке c#, которая принимает код товара и отображает страну происхождения.

Пример кода товара-NIUK0023.

NI-Северная Ирландия
Великобритания-Великобритания
любые другие символы подразумевают европейскую страну

Мне нужно знать, как я могу использовать метод string.substring для этого.


Спасибо за помощь.

Что я уже пробовал:

инт артикул;

Приставка.WriteLine ("введите код товара: (например, NIUK0023");
Строковое значение = консоль.Линия чтения();
int startIndex = 5;
длина int = 2;
Строка подстрока = значение.Подстрока(startIndex, длина);
Приставка.Строку(подстроку);

Karthik_Mahalingam

какой результат вы ожидаете?

Member 13432676

это не имеет значения. Я получил это работает.

3 Ответов

Рейтинг:
1

Richard MacCutchan

Страна происхождения (индекс 0, длина 2), Страна привязки (индекс 2, Длина 2). На самом деле не слишком трудно выяснить. Для получения дополнительной информации см. Строковый Класс (System)[^].


Рейтинг:
1

Member 13432676

использование системы;
использование системы.Коллекции.Общий;
использование System. Linq;
используя системы.Текст;
использование системы.Нарезание резьбы.Задачи;

пространство имен ConsoleApp8
{
программа занятий
{
static void Main (string[] args)
{
струнный кантрифорджион;
строки код;
строка артикул;

ItemCode = "NIUK0023";/ / для удобства ввода жесткого кода
countryOfOrgion = ItemCode. Substring(0, 2);

если (странофоргион."Равно" ("Н. и."))
{
код страны = " Северная Ирландия";
}
остальное, если (countryOfOrgion."Равно" ("УК"))
{
countrycode = " Великобритания";
}
еще
{
код = "европейской стране";
}
Приставка.WriteLine(countryOfOrgion + '\t' + countrycode);
Приставка.Линия чтения();
}
}
}



Рейтинг:
0

OriginalGriff

Предположим, что ваши коды стран состоят из двух символов - и здесь есть их список: Список кодов стран-ISO ALPHA-2, ISO ALPHA-3 и числовые коды стран - Nations Online Project[^], но он перечисляет NI как Никарагуа - вам нужно будет сделать две вещи.
1) обработайте пользовательский ввод в цикле, чтобы извлечь каждую пару из двух цифр. Это не сложно, вы просто используете подстроку, чтобы извлечь первые два, а затем удалить их из строки:

while (!string.IsNullOrWhiteSpace(strInput))
    {
    string cc = strInput.Substring(0, 2);
    strInput = strInput.Length > 2 ? strInput.Substring(2) : "";
    ...
    }

2) Найдите код страны и переведите его в удобочитаемую строку. Я не могу сказать вам, как это сделать: Я знаю, как бы я это сделал, но для этого используется код, который вы, вероятно, еще не встречали: словари и файлы. Таким образом, ваш "лучший" способ, вероятно, состоит в том, чтобы использовать switch блок:
switch(cc)
    {
    case "UK": strHumanReadable = "United Kingdom"; break;
    case "...
    }