Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Ступенчатые массивы являются эффективными в случаях, если у двумерных прямоугольных массивов есть много элементов, которые вообще не используются. Это позволяет сэкономить память за счет выделения только необходимого объема памяти (количества элементов) для каждой строки ступенчатого массива.
31
Все массивы в C# построены на основе класса Array из пространства имен System. Этот класс определяет ряд свойств и методов, которые мы можем использовать при работе с массивами. Основные свойства и методы:
Разберем самые используемые методы. Например, изменим порядок элементов и размер массива:
| 1 2 3 4 5 6 7 8 9 10 11 12 | int[] numbers = { -4, -3, -2, -1,0, 1, 2, 3, 4 }; // расположим в обратном порядке Array.Reverse(numbers); // уменьшим массив до 4 элементов Array.Resize(ref numbers, 4); foreach(int number in numbers) { Console.Write($"{number} \t"); } |
Результат программы:
4 3 2 1
В функции Resize первым параметром является изменяемый массив, а второй - количество элементов, которые должны быть в массиве. Если второй параметр меньше длины массива, то массив усекается. Если значение параметра, наоборот, больше, то массив дополняется дополнительными элементами, которые имеют значение по умолчанию.
Метод Copy копирует часть одного массива в другой:
| 1 2 3 4 5 6 7 8 9 10 11 | int[] numbers = { -4, -3, -2, -1,0, 1, 2, 3, 4 }; int[] numbers2 = new int[5]; // копируем из numbers с 2-го индекса 5 элементов // и поместим их в массив numbers2, начиная с 0-го индекса Array.Copy(numbers, 2, numbers2, 0, 5); foreach(int number in numbers2) { Console.Write($"{number} \t"); } |
Результат программы:
-2 -1 0 1 2
Отсортируем массив с помощью метода Sort():
| 1 2 3 4 5 6 7 8 | int[] numbers = { -3, 10, 0, -5, 12, 1, 22, 3}; Array.Sort(numbers); foreach(int number in numbers) { Console.Write($"{number} \t"); } |
Результат работы программы:
-5 -3 0 1 3 10 12 22
32
При отладке программ, использующих массивы, удобно иметь возможность генерировать исходные данные, заданные случайным образом. В библиотеке C# класс Random используется для таких целей.
Для получения псевдослучайной последовательности чисел необходимо сначала создать экземпляр класса с помощью конструктора, например:
Random a = new Random(); // 1
Random b = new Random(1); //2
Есть два вида конструктора: конструктор без параметров (оператор 1), который использует начальное значение генератора, вычисленное на основе текущего времени. В этом случае каждый раз создается уникальная последовательность. Конструктор с параметром типа int (оператор 2) задает начальное значение генератора, что обеспечивает возможность получения одинаковых последовательностей чисел.
Для получения очередного значения серии пользуются методами, перечисленными в таблице 9.1.
Таблица 9.1 - Основные методы класса System.Random
| Название | Описание |
| Next () | Возвращает целое положительное число во всем положительном диапазоне типа int |
| Next(мaкс) | Возвращает целое положительное число в диапазоне [0, макс] |
| Next (мин, макс) | Возвращает целое положительное число в диапазоне [мин, макс] |
| NextBytes(массив) | Возвращает массив чисел в диапазоне [0, 255] |
| NextDoublе() | Возвращает вещественное положительное число в диапазоне [0, 1) |
Пример работы с генератором псевдослучайных чисел
using System:
namespace ConsoleApplicationl
{ class Classl
{ static void Main()
{
Random a = new Random();
Random b = new Random(1);
const int n = 10;
Console.WriteLine("\n Диапазон [0, 1]:");
for (int i = 0; i < n; ++i)
Console.Write("{0,6:0.##}", a.NextDouble());
Console.WriteLine("\n Диапазон [0, 1000]:");
for (int i = 0; i < n; ++i)
Console.Write(" " + b.Next(1000));
Console.WriteLine("\n Диапазон [-10, 10]:");
for (int i = 0; i < n; ++i)
Console.Write(" " + a.Next(-10, 10));
Console.WriteLine("\n Массив [0, 255]:");
byte[] mas = new byte[n];
a.NextBytes(mas);
for (int i = 0; i < n; ++i) Console.Write(" " + mas[i]);
} } }
33
Символьный тип char базируется на стандартном классе Char библиотеки .NET из пространства имен System. Он является встроенным типом языка и предназначен для хранения символов в Unicode.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
char q;
do
{
Console.WriteLine("Введите символ: ");
q = char.Parse (Console.ReadLine());
if (char.IsLetter(q)) Console.WriteLine("Буква");
if (char.IsUpper(q)) Console.WriteLine("Верхний рег.");
if (char.IsLower(q)) Console.WriteLine("Нижний рег.");
if (char.IsControl(q)) Console.WriteLine("Управляющий");
if (char.IsNumber(q)) Console.WriteLine("Число");
if (char.IsPunctuation(q)) Console.WriteLine("Разделитель");
}
while (q!='/');
}
}
}
34
|
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!