Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
|
из
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
|
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!