Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Список используемых методов расширения LINQ




  • Select: определяет проекцию выбранных значений
  • Where: определяет фильтр выборки
  • OrderBy: упорядочивает элементы по возрастанию
  • OrderByDescending: упорядочивает элементы по убыванию
  • ThenBy: задает дополнительные критерии для упорядочивания элементов возрастанию
  • ThenByDescending: задает дополнительные критерии для упорядочивания элементов по убыванию
  • Join: соединяет две коллекции по определенному признаку
  • GroupBy: группирует элементы по ключу
  • ToLookup: группирует элементы по ключу, при этом все элементы добавляются в словарь
  • GroupJoin: выполняет одновременно соединение коллекций и группировку элементов по ключу
  • Reverse: располагает элементы в обратном порядке
  • All: определяет, все ли элементы коллекции удовлятворяют определенному условию
  • Any: определяет, удовлетворяет хотя бы один элемент коллекции определенному условию
  • Contains: определяет, содержит ли коллекция определенный элемент
  • Distinct: удаляет дублирующиеся элементы из коллекции
  • Except: возвращает разность двух коллекцию, то есть те элементы, которые содератся только в одной коллекции
  • Union: объединяет две однородные коллекции
  • Intersect: возвращает пересечение двух коллекций, то есть те элементы, которые встречаются в обоих коллекциях
  • Count: подсчитывает количество элементов коллекции, которые удовлетворяют определенному условию
  • Sum: подсчитывает сумму числовых значений в коллекции
  • Average: подсчитывает cреднее значение числовых значений в коллекции
  • Min: находит минимальное значение
  • Max: находит максимальное значение
  • Take: выбирает определенное количество элементов
  • Skip: пропускает определенное количество элементов
  • TakeWhile: возвращает цепочку элементов последовательности, до тех пор, пока условие истинно
  • SkipWhile: пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы
  • Concat: объединяет две коллекции
  • Zip: объединяет две коллекции в соответствии с определенным условием
  • First: выбирает первый элемент коллекции
  • FirstOrDefault: выбирает первый элемент коллекции или возвращает значение по умолчанию
  • Single: выбирает единственный элемент коллекции, если коллекция содердит больше или меньше одного элемента, то генерируется исключение
  • SingleOrDefault: выбирает первый элемент коллекции или возвращает значение по умолчанию
  • ElementAt: выбирает элемент последовательности по определенному индексу
  • ElementAtOrDefault: выбирает элемент коллекции по определенному индексу или возвращает значение по умолчанию, если индекс вне допустимого диапазона
  • Last: выбирает последний элемент коллекции
  • LastOrDefault: выбирает последний элемент коллекции или возвращает значение по умолчанию

Передача параметров в методы

Параметры можно передавать по значению и по ссылке. Если не указано обратное, то в С# все параметры передаются по значению. Если переменная передается по значению, вызываемый метод получает копию этой переменной, а это значит, что все изменения в ней по завершении метода будут утеряны.

Для передачи параметров по ссылке в языке С# предусмотрено два ключевых слова— ref и out. Первое из них требует предварительной инициализации объекта, на который передается ссылка, а второе — не требует.

class Rectangle

{ int xPos;

int yPos;

public Rectangle()

 { xPos = yPos = 0; }

 public void GetPosition(out int x, out int y)

 { x = xPos;

у = yPos;

 }

}

class RefParamApp

{ static void Main(string[] args)

{ Rectangle rect;

rect = new RectangleO;

 int xCurrent, yCurrent;

 rect.GetPosition(out xCurrent, out yCurrent);

 Console.WriteLine("Расположение прямоугольника: ({0}, {1})”, xCurrent, yCurrent);

}}

Именованные аргументы

Обычно параметры должны передаваться в метод в том же порядке, в котором они определены. Именованные аргументы позволяют передавать параметры в любом порядке. То есть для приведенного ниже метода:

string FullName(string firstName, string lastName)

{

return firstName + " " + lastName;

}

возможны следующие вызовы, которые вернут одно и то же полное имя:

Fu1IName("John", "Doe");

FullName(lastName: "Doe", firstName: "John");

Необязательные аргументы

Параметры также могут быть необязательными. Для таких параметров должны определяться значения по умолчанию. Необязательные параметры должны располагаться последними в списке. Поэтому следующее объявление метода будет неправильным:

void TestMethod(int optionalNumber = 10, int notOptionalNumber)

{

System.Console.Write(optionalNumber + notOptionalNumber);

}

Чтобы этот метод работал, параметр optionalNumber должен быть определен последним. Если вас не устраивают необязательные параметры, для достижения того же эффекта можно применить перегрузку методов.










Последнее изменение этой страницы: 2018-04-12; просмотров: 451.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...