
- •Общеязыковая исполняющая среда clr (Common Language Runtime)
- •Сборки Что такое сборка?
- •Что такое приватные сборки и совместно используемые сборки?
- •Если я хочу создать совместно используемую сборку, требует ли это работы с подписями и парами ключей?
- •В чем отличие между пространством имен и именем сборки?
- •9. Типы даты/времени. Основные свойства и методы типов System.DateTime
- •Зубчатый (изрезанный) массив
- •Класс Array
- •Свойство Lenght
- •Свойство Rank
- •Метод Sort
- •Процедуры и функции - методы класса
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. ?
Зубчатые массивы. их объявление, инициализация и использование.