Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-07-01 | 328 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!