Хочу ввести с клавиатуры значения в строку, которая является элементом массива:string words[1]=Console.ReadLine();
Выдает ошибку, неудивительно.
Расскажите как это сделать, и как вообще правильно делать массив строк в C#?
Первый раз на C# пишу, не ругайтесь.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str_eng = "Apple,Sky";
string[] words = str_eng.Split(',');
string str_rus = "Яблоко,Небо";
string[] words1 = str_rus.Split(',');
string words[1]=Console.ReadLine();
Console.ReadKey();
}
}
}
void main()
{
string[] words = {"one","two"};
addEl(ref words);
}
void addEl(ref string[] mass)
{
string newEl = Console.ReadLine();
Array.Resize<string>(mass, mass.Length + 1);
mass[mass.Length - 1] = newEl;
}
или
void main()
{
List<string> str = new List<string>();
addEl(str);
}
void addEl(List<string> l)
{
string newEl = Console.ReadLine();
l.add(newEl);
}
Попробуйте этот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ru_stack_owerflow_CA1
{
class Program
{
static void Main(string[] args)
{
const string strEn = "Apple,Sky";
const string strRu = "Яблоко,Небо";
List<string> wordsEngList = strEn.Split(',').ToList();
List<string> wordsRuList = strRu.Split(',').ToList();
Console.WriteLine("Enter you word: ");
wordsEngList.Add(Console.ReadLine());
foreach (string s in wordsEngList)
{
Console.WriteLine("wordsEngList: " + s);
}
foreach (string s in wordsRuList)
{
Console.WriteLine("wordsRuList: " + s);
}
Console.ReadKey();
}
}
}
И одна из рекомендаций, попробуйте ReShaper, он поможет вам выявить ошибки при обучении. Да и в дальнейшем дает разумные подсказки :) скачать можно на родном сайте www.jetbrains.com
Более прикладной вариант
class Program
{
static void Main(string[] args)
{
string[] names = new string[3];
//пока в массиве имен есть свободные позиции запрашиваем новые имена
while (true)
{
//получение индекса в массиве где строка равна null
int index = Array.IndexOf(names, null);
//если индекс -1 значит массив заполнен => выходим из цикла
if (index == -1) break;
//присвоение имени, кот.ввели
names[index] = GetNewName();
}
Console.WriteLine("Готово!");
Console.WriteLine("-------");
//проходим по массиву и к кажд. элементу применяем вывод на консоль
Array.ForEach(names, Console.WriteLine);
Console.ReadKey();
}
private static string GetNewName()
{
string result = String.Empty;
//пока не введена строка или ключевое слово "выйти" просим ввести имя
while (String.IsNullOrWhiteSpace(result)
|| String.IsNullOrEmpty(result) || result.Equals("выйти"))
{
Console.WriteLine("Введите имя: ");
result = Console.ReadLine();
}
return result;
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Изучаю по книге работу с делегатами и есть там пример, объясняющий, что такое ковариантность и контравариантностьРешил подробнее поискать...
Итак, имеется два класса: один родительский, второй дочерний
Есть два текстовых поля для ввода семизначного числа, где 1 поле: стартовое число, 2 поле: конечноеПодскажите, пожалуйста, как я могу получить...
Во время изменения фокуса из DataGrid на кнопку срабатывает обновление привязки у CurrentCell