Я хочу объявить пустой массив, который принимает входные данные от пользователя, а затем найдет длину этого массива. Я объявил пустой массив, но не знаю, как принимать данные от пользователя.Найти размер неизвестного размера массив
ответ
Вот пример того, что вы просили: https://dotnetfiddle.net/1RSPzs
using System;
public class Program
{
public static void Main()
{
var index = 0;
var myArray = new string[] {};
var isEmptyText = false;
do
{
Console.Write("Give me some input or press enter to quit: ");
var result = Console.ReadLine();
isEmptyText = string.IsNullOrWhiteSpace(result);
if (!isEmptyText)
{
if (myArray.Length <= index)
{
Array.Resize(ref myArray, index+1);
}
myArray[index++] = result;
}
} while (!isEmptyText);
Console.WriteLine(myArray.Length);
Console.WriteLine(string.Join(", ", myArray));
}
}
Хотя этот код работает, то изменение размера массива постоянно что является дорогостоящей процедурой. Я бы посоветовал дать ему разумное количество предметов, и при необходимости их размер только изменился. Как это:
using System;
public class Program
{
public static void Main()
{
var index = 0;
var myArray = new string[25];
var isEmptyText = false;
do
{
Console.Write("Give me some input or press enter to quit: ");
var result = Console.ReadLine();
isEmptyText = string.IsNullOrWhiteSpace(result);
if (!isEmptyText)
{
if (myArray.Length <= index)
{
Array.Resize(ref myArray, myArray.Length + 10);
}
myArray[index++] = result;
}
} while (!isEmptyText);
Console.WriteLine(myArray.Length);
for (var i=0; i < index; i++)
{
Console.Write((i==0 ? "" : ", ") + myArray[i]);
}
}
}
Конечно, самое лучшее, что нужно сделать, это использовать более современные структуры данных, как связанные списки или векторы, но иногда мы получаем эти задания в школе и должны понять это. Ознакомьтесь с обобщенными коллекциями для самых простых структур данных, которые будут работать с C#: http://www.csharp-station.com/Tutorial/CSharp/Lesson20
Спасибо komma8.komma1, это сработало для меня. – Bushra
Возможно, вы новичок в переполнении стека, поэтому в будущем попробуйте показать, что вы пробовали (код), а также включите в свои вопросы немного больше деталей. Затем, как только у вас появится ответ на ваш вопрос (например, мой пост), вы отметите ответ, чтобы люди не продолжали тратить на него время, думая, что он все еще открыт и остается без ответа. –
- 1. Обработка PHP массив неизвестного размера
- 2. C - обратный массив неизвестного размера
- 3. systemVeilog - передать массив неизвестного размера
- 4. Найти середину неизвестного размера списка
- 5. Как вернуть массив неизвестного размера в Enscripten?
- 6. объявить и инициализировать 2d массив неизвестного размера
- 7. Инициирование массив неизвестного размера в C
- 8. ctypes Функция C++ возвращает массив неизвестного размера
- 9. станд :: массив неизвестного размера члена класса
- 10. сортировочных неизвестного размера массива
- 11. Инициализация массива неизвестного размера
- 12. Как вернуть массив неизвестного размера в C
- 13. Pascal: Указатель на массив неизвестного размера?
- 14. Python: Интерполировать массив неизвестного размера в строку
- 15. массива неизвестного размера переменных
- 16. Как передать двумерный массив неизвестного размера функции
- 17. Прочитать массив неизвестного размера с клавиатуры
- 18. Fortran: Массив неизвестного размера по типу
- 19. Как инициализировать массив неизвестного размера в c
- 20. Инициализировать 2-мерный массив неизвестного размера
- 21. Указатель на существующий массив 2d неизвестного размера?
- 22. Введите массив неизвестного размера в java
- 23. Массив строк неизвестного размера внутри массива
- 24. Объявление 2-мерный массив неизвестного размера, C
- 25. Чтение в массив символов неизвестного размера
- 26. Размер изображений неизвестного размера до определенного размера без обрезки. (Letterboxing)
- 27. Что такое make_shared неизвестного размера?
- 28. Найти размер памяти неизвестного типа в ядре
- 29. Java, создающий список неизвестного размера
- 30. Align дивы неизвестного размера
Вам необходимо [редактировать] (http://stackoverflow.com/posts/36368337/edit) ваше сообщение, чтобы включить то, что вы сделали как мы не видим ваш экран. –
Пустой массив не может принимать входные данные и не может иметь длину больше 0. Разверните свой вопрос, покажите нам какой-то код, возможно, мы сможем помочь. – Corey
Массивы имеют фиксированный размер - при необходимости вы можете перераспределить больше памяти, но проще использовать «Список», который может динамически расти (хотя и перераспределять массив за кулисами). В этом случае свойство 'Count' даст вам количество элементов в коллекции. –