Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Первый семестр программирование.docx
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
103.45 Кб
Скачать

9. Типы даты/времени. Основные свойства и методы типов System.DateTime

DateTime – структура. Представляет текущее время, обычно выраженное как дата и время суток. В зависимости от количества и типа передаваемых конструктору структуры данных, изменяется и его значения.

System.DateTimeOffset - Представляет момент времени, который обычно выражается в виде даты и времени суток, относительно времени в формате UTC.

System.TimeSpan - Представляет интервал времени. Как то так реализуется:

DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);

DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);

TimeSpan interval = date2 - date1;

Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());

System.DateTimeKind - Указывает, какое время представляет объект DateTime: местное, UTC или не определенное как местное или UTC. Че такое UTC пока еще не догнал.

10. Строки и строчные литералы.

Литералы представляют собой константы, непосредственно включаемые в текст программы в отличие от прочих данных — констант и переменных, обращение к которым осуществляется посредством ссылок[1]. Литералы не могут быть изменены в тексте программы.

Ссылочный тип C# - string.

Строка является объектом типа String, значением которого является текст. По сути, текст хранится в виде последовательной доступной только для чтения коллекции объектов Char(Представляет символ Юникода.).

Особенности операторов присваивания и сложения для строчного типа.

Тип string представляет последовательность из нуля или более символов в кодировке Юникод. Тип string — это псевдоним для типа String платформы .NET Framework.

Несмотря на то, что тип string является ссылочным типом, операторы равенства (== и !=) определены для сравнения значений объектов типа string, а не ссылок.Это упрощает проверку равенства строк. Примеры.

string a = "hello";

string b = "h";

// Append to contents of 'b'

b += "ello";

Console.WriteLine(a == b);

Console.WriteLine((object)a == (object)b);

В этом примере отображается "True", а затем "False", поскольку содержимое строк одинаково, но a и b не ссылаются на один и тот же экземпляр строки.

Оператор + служит для объединения строк.

Строки являются неизменяемыми: содержимое строкового объекта невозможно изменить после создания объекта, хотя из-за синтаксиса изменения кажутся возможными. Например, при написании этого кода компилятор на самом деле создает новый строковый объект для новой последовательности знаков, и этот новый объект получает значение "b". Затем строку "h" можно применять для сборки мусора.

Класс System.String его методы и свойства.

Свойство chars - Получает объект Char в указанной позиции в текущем объекте String.

Свойство Length - Возвращает число знаков в текущем объекте String.

11. Массивы. Явная инициализация одномерных и многомерных массивов.

Массив — это структура данных, содержащая несколько переменных одного типа. Массив объявляется со следующим типом:

type[] arrayName;

В следующем примере показано создание одномерных, многомерных массивов и массивов массивов.

C#

class TestArraysClass

{

static void Main()

{

// Declare a single-dimensional array

int[] array1 = new int[5];

// Declare and set array element values

int[] array2 = new int[] { 1, 3, 5, 7, 9 };

// Alternative syntax

int[] array3 = { 1, 2, 3, 4, 5, 6 };

// Declare a two dimensional array

int[,] multiDimensionalArray1 = new int[2, 3];

// Declare and set array element values

int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

// Declare a jagged array

int[][] jaggedArray = new int[6][];

// Set the values of the first array in the jagged array structure

jaggedArray[0] = new int[4] { 1, 2, 3, 4 };

}

}

Доступ к элементу массива и инициализация в коде программы.

Многомерные массивы можно создавать, настраивать и инициализировать в одном операторе любым из следующих методов.

C#

int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };

int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };

int[,] arr6 = { {1,2,3}, {4,5,6} };

Инициализация в цикле программы

Все элементы массива могут быть инициализированы посредством вложенного цикла, как показано ниже.

C#

int[,] arr7 = new int[5,4];

for(int i=0; i<5; i++)

{

for(int j=0; i<4; j++)

{

arr7[i,j] = 0; // initialize each element to zero

}

}

Т.е. доступ осуществляется только установкой позиции элемента в массиве:

System.Console.Write("{0}", jaggedArray4[0][1, 0]);

(jaggedArray4[][,] – заранее продекларированный массив)

Методы класса System.Array.

Свойства и методы класса System.Array

 

Элемент

Вид

Описание

Length

свойство

Возвращает количество элементов данного массива (по всем размерностям)

BinarySearch

статический метод

Данный метод выполняет двоичный поиск по отсортированному массиву

Clear

статический метод

Происходит обнуление значений массива, т.е. каждому элементу присваивается значение по умолчанию.

Copy

статический метод

Выполняет копирование указанного куска массива из одного в другой

CopyTo

экземплярный метод

Копирование всех элементов данного массива в другой

GetValue

экземплярный метод

Возвращает значение данного элемента

IndexOf

статический метод

Поиск первого элемента в массиве равного данному значению

LastIndexOf

статический метод

Поиск последнего элемента в массиве равного данному значению

Reverse

статический метод

Происходит изменение порядка следования элементов на обратный

SetValue

Экземплярный метод

Происходит присвоение значения указанному элементу

Sort

статический метод

Метод, используемый для сортировки элементов массива в csharp(c#)

Итеративный оператор перебора элементов массивов и других списочных структур наследуемых от IEnumerable. ?

Зубчатые массивы. их объявление, инициализация и использование.