Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2017-07-01 | 324 |
5.00
из
|
Заказать работу |
{
Console.WriteLine("Создано {0} объектов State", counter);
}
}
Class Program
{
static void Main(string[] args)
{
State state1 = new State();
State state2 = new State();
State state3 = new State();
State state4 = new State();
State state5 = new State();
State.DisplayCounter(); // 5
Console.Read();
}
}
Структура
Кроме базовых элементарных типов данных и перечислений в C# имеется и составной тип данных, который называется структурой.
Структура — это объединение нескольких объектов, возможно, различного типа под одним именем, которое является типом структуры. В качестве объектов могут выступать переменные, массивы, указатели и другие структуры.
Структуры позволяют трактовать группу связанных между собой объектов не как множество отдельных элементов, а как единое целое. Структура представляет собой сложный тип данных, составленный из простых типов.
Общая форма объявления структуры:
МодификаторДоступа struct Имя_структуры
{
МодификаторДоступа тип ИмяЭлемента1;
МодификаторДоступа тип ИмяЭлемента2;
...
МодификаторДоступа тип ИмяЭлементаn;
};
Пример. Передача структуры через функцию.
using System;
namespace ConsoleApplication4
{
public struct MyStruct
{
public int a;
public string b;
}
class Program
{
static MyStruct FunctionS()
{
MyStruct S;
S.a = Convert.ToInt32(Console.ReadLine());
S.b = Console.ReadLine();
return (S);
}
static void Main(string[] args)
{
MyStruct S;
S = FunctionS();
}
}
}
Список значений
Хотя в языке C# есть массивы, которые хранят в себе наборы однотипных объектов, но работать с ними не всегда удобно. Например, массив хранит фиксированное количество объектов, однако что если мы заранее не знаем, сколько нам потребуется объектов. И в этом случае намного удобнее применять коллекции.
Необобщенные или простые коллекции определены в пространстве имен System.Collections.
Список значений – это набор данных различного типа, аналог одномерного массива, только хранить может элементы различных типов.
Для работы со списком значений предназначен класс ArrayList
Сначала всегда создают пустой список значений – объект класса ArrayList
ArrayList list = new ArrayList();
Для добавления элементов в список значений предназначен метод ADD
list.Add(2.3); // заносим в список объект типа double
list.Add(55); // заносим в список объект типа int
list.AddRange(new string[] { "Hello", "world" }); // заносим в список строковый массив
Обратиться к элементу списка можно по его номеру
А = list[0]
Удаляем первый элемент
list.RemoveAt(0);
Переворачиваем список
list.Reverse();
Так как класс ArrayList находится в пространстве имен System.Collections, то необходимо его подключить, если собираетесь использовать список.
Таблица значений
Это таблица, которая состоит из строк (Rows) и столбцов (Columns). К любой строке или колонке можно обратиться по индексу и получить нужные значения. Все данные строки хранятся в свойстве ItemArray, который представляет массив объектов - значений отдельных ячеек строки.
При работе с таблицей значений необходимо сначала создать объект класса DataTable, затем описать структуру таблицы, т.е. из каких столбцов она будет состоять:
DataTable table = new DataTable(); //создаем объект таблица//создаем столбцыtable.Columns.Add("Dosage", typeof(int));table.Columns.Add("Drug", typeof(string));table.Columns.Add("Patient", typeof(string));table.Columns.Add("Date", typeof(DateTime));//добавляем строкиtable.Rows.Add(25, "Indocin", "David", DateTime.Now);table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
Пространство имен System.Data
Все столбцы таблицы типа DataColumnCollection.
Все строки таблицы типа DataRow.
Цикл Для каждого
Для перебора коллекций, таких объектов как массив, список значений, таблица значений удобно использовать цикл Для каждого
Для каждого ЭлементКоллекции Из Коллекции Цикл
{
Тело цикла
}
foreach (тип_данных название_переменной in контейнер)
{
// действия
}
Например перебор одномерного массива:
int[] array = new int[] { 1, 2, 3, 4, 5 };
foreach (int i in array)
{
Console.WriteLine(i);
}
Перебор строк таблицы значений:
foreach (DataRow Row in Table.Rows)
{
//действия
}
Перебор списка значений
foreach (object o in list)
{
Console.WriteLine(o);
}
Пример работы с таблицей значений:
static void Main(string[] args)
{
DataTable table = new DataTable(); //создаем объект таблица
//создаем столбцы
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
//добавляем строки
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
Console.Write("Таблица");
Console.WriteLine();
foreach (DataRow r in table.Rows)
{
foreach (var cell in r.ItemArray)
Console.Write(cell+"\t\t");
Console.WriteLine();
}
Console.Read(); }
Работа с файлами
Большинство задач в программировании так или иначе связаны с работой с файлами и каталогами. Нам может потребоваться прочитать текст из файла или наоборот произвести запись, удалить файл или целый каталог, не говоря уже о более комплексных задачах, как например, создание текстового редактора и других подобных задачах.
Фреймворк.NET предоставляет большие возможности по управлению и манипуляции файлами и каталогами, которые по большей части сосредоточены в пространстве имен System.IO. Классы, расположенные в этом пространстве имен (такие как Stream, StreamWriter, FileStream и др.), позволяют управлять файловым вводом-выводом.
Работа с дисками
Работу с файловой системой начнем с самого верхнего уровня - дисков. Для представления диска в пространстве имен System.IO имеется класс DriveInfo.
Этот класс имеет статический метод GetDrives, который возвращает имена всех логических дисков компьютера. Также он предоставляет ряд полезных свойств:
· AvailableFreeSpace: указывает на объем доступного свободного места на диске в байтах
· DriveFormat: получает имя файловой системы
· DriveType: представляет тип диска
· IsReady: готов ли диск (например, DVD-диск может быть не вставлен в дисковод)
· Name: получает имя диска
· TotalFreeSpace: получает общий объем свободного места на диске в байтах
· TotalSize: общий размер диска в байтах
· VolumeLabel: получает или устанавливает метку тома
Получим имена и свойства всех дисков на компьютере:
Получим имена и свойства всех дисков на компьютере:
using System;
using System.Collections.Generic;
using System.IO;
namespace FileApp
{
class Program
{
static void Main(string[] args)
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
Console.WriteLine("Название: {0}", drive.Name);
Console.WriteLine("Тип: {0}", drive.DriveType);
if (drive.IsReady)
{
Console.WriteLine("Объем диска: {0}", drive.TotalSize);
Console.WriteLine("Свободное пространство: {0}", drive.TotalFreeSpace);
Console.WriteLine("Метка: {0}", drive.VolumeLabel);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
Работа с каталогами
Для работы с каталогами в пространстве имен System.IO предназначены сразу два класса: Directory и DirectoryInfo.
Класс Directory
Класс Directory предоставляет ряд статических методов для управления каталогами. Некоторые из этих методов:
Класс DirectoryInfo
Данный класс предоставляет функциональность для создания, удаления, перемещения и других операций с каталогами. Во многом он похож на Directory. Некоторые из его свойств и методов:
Посмотрим на примерах применение этих классов
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!