Перейти к содержимому

Public void c что это

  • автор:

Что такое void в C#?

Ключевое слово void в языке программирования C# используется для обозначения отсутствия возвращаемого значения метода. Когда метод объявляется с возвращаемым типом void , это означает, что метод выполняет определенные действия, но не возвращает никакого результата.

Особенности:

  1. Отсутствие возвращаемого значения: Метод с возвращаемым типом void не возвращает никакого значения при завершении своего выполнения.
  2. Использование для процедур: void часто используется для методов, которые выполняют процедурные действия, такие как вывод на консоль, изменение состояния объектов, или выполнение других побочных эффектов.

Синтаксис:

// Метод без возвращаемого значения public void PrintMessage(string message) < Console.WriteLine(message); >// Пример использования метода с void PrintMessage("Привет, мир!");

Public void c что это

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

Общее определение методов выглядит следующим образом:

[модификаторы] тип_возвращаемого_значения название_метода ([параметры]) < // тело метода >

Модификаторы и параметры необязательны.

Ранее мы уже использовали как минимум один метод — Console.WriteLine() , который выводит информацию на консоль. Теперь рассмотрим, как мы можем создавать свои методы.

Определение метода

Определим один метод:

void SayHello()

Здесь определен метод SayHello , который выводит некоторое сообщение. К названиям методов предъявляются в принципе те же требования, что и к названиям переменных. Однако, как правило, названия методов начинаются с большой буквы.

Перед названием метода идет возвращаемый тип данных. Здесь это тип void , который указыает, что фактически ничего не возвращает, он просто производит некоторые действия.

После названия метода в скобках идет перечисление параметров. Но в данном случае скобки пустые, что означает, что метод не принимает никаких параметров.

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

Console.WriteLine("Hello");

Но если мы запустим данный проект, то мы не увидим никакой строки, которую должен выводить метод SayHello. Потому что после определения метод еще надо вызвать, чтобы он выполнил свою работу.

Вызов методов

Чтобы использовать метод SayHello, нам надо его вызвать. Для вызова метода указывается его имя, после которого в скобках идут значения для его параметров (если метод принимает параметры).

название_метода (значения_для_параметров_метода);

Например, вызов метода SayHello будет выглядеть следующим образом:

SayHello();

Поскольку метод не принимает никаких параметров, то после названия метода идут пустые скобки.

Объединим определение и вызов метода:

void SayHello() < Console.WriteLine("Hello"); >SayHello(); // Hello SayHello(); // Hello

методы в C# и .NET

Консольный вывод программы:

Hello Hello

Преимуществом методов является то, что их можно повторно и многократно вызывать в различных частях программы. Например, в примере выше два раза вызывается метод SayHello.

При этом в данном случае нет разницы, сначала определяется метод, а потом вызывается или наоборот. Например, мы могли бы написать и так:

SayHello(); // Hello SayHello(); // Hello void SayHello()

Определим и вызовем еще несколько методов:

void SayHelloRu() < Console.WriteLine("Привет"); >void SayHelloEn() < Console.WriteLine("Hello"); >void SayHelloFr() < Console.WriteLine("Salut"); >string language = «en»; switch (language)

Здесь определены три метода SayHelloRu() , SayHelloEn() и SayHelloFr() , которые также имеют тип void , не принимают никаких параметров и также выводит некоторую строку на консоль. Условно говоря, они выводят приветствие на определенном языке.

В конструкции switch проверяется значение переменной language , которая условно хранит код языка, и в зависимости от ее значения вызывается определенный метод. Так, в данном случае на консоль будет выведено

Hello

Сокращенная запись методов

Если метод в качестве тела определяет только одну инструкцию, то мы можем сократить определение метода. Например, допустим у нас есть метод:

void SayHello()

Мы можем его сократить следующим образом:

void SayHello() => Console.WriteLine("Hello");

То есть после списка параметров ставится оператор => , после которого идет выполняемая инструкция.

Чем void отличается от public void?

Я видел, что люди используют просто void, а иногда public void. В какой ситуации нужно использовать void. И чем void отличается от public void.

Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 14 ноя 2022 в 16:19
void не имеет отношения к ООП. Это значит, что функция не возвращает значения
14 ноя 2022 в 16:21
Так, а когда ставить public перед void. Или тут нет разницы?
14 ноя 2022 в 16:24
public — модификатор доступа (видимости метода класса снаружи)
14 ноя 2022 в 16:25

Это не правило программистов, так в любой сфере. Но лучше перед этим сформулировать у себя в голове как можно точнее сам вопрос и попытаться самому на него ответить

14 ноя 2022 в 16:38
Возможный дубликат вопроса: Книги и учебные ресурсы по Java
14 ноя 2022 в 17:49

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

void значит, что функция не возвращает значения. Это такой же тип, как int , string и пр. А вот public применяют потому, что по умолчанию, модификатор доступа private (хотя не помню точно) и его кто-то опускает, а кто-то пишет.

А вот разница между public и private уже имеется

UPD. Статусы видимости при модификаторах доступа

Access Levels Modifier Class Package Subclass World ----------------------------------------------------- public Y Y Y Y protected Y Y Y N (Default) Y Y N N private Y N N N 

Т.е. если не указывать, то используется default

Ключевое слово void, его особенности и return [дубликат]

Выводится в консоль: 14 Не могу понять зачем нам void , если мы можем написать public **int** run(. ) Пытаюсь разобраться с void и return.

Отслеживать
задан 19 ноя 2018 в 11:49
Петровченко Иван Петровченко Иван
1,913 1 1 золотой знак 13 13 серебряных знаков 36 36 бронзовых знаков
В первом примере функция run не возвращает ничего.
19 ноя 2018 в 11:52

Вы видите одно и то же, а под капотом происходит разное. Можно вообще просто написать в методе main одну строчку System.out.println(«14»); и спрашивать, зачем нам вообще нужны какие-то функции, методы и классы, когда я просто могу вывести «14» одной строчкой кода.

19 ноя 2018 в 12:34

Вы месяц назад уже задавали такой вопрос и даже отметили один из ответов. Зачем опять задавать такой же вопрос?

19 ноя 2018 в 12:37

@Эникейщик я понял как это работает, но не пойму что использовать и как? Потому что выше 2 примера работают одинаково.

19 ноя 2018 в 12:50
@Эникейщик то есть 1 пример говорит: зачем нам return если можно сделать так (как в 1 примере)
19 ноя 2018 в 12:50

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Весь смысл функции с типом void — это действия без отчета. Если функция не void , то она по возвращает какой-то результат и заканчивает работу.
В первом примете, если у вас, к примеру, нет доступа к консоли, вы никогда не узнаете о том, что функция выполнена.
Во втором случаи, функция отсылает «отчет» о том, что она сделала, и вы видите результат. И так, void используем для функций, которые работают независимо и мы не ждем от них «отчета».

Ключевое слово return прекращает выполнение функции. Можно использовать и в циклах ( break ), функциях.

public void count(int stop) < for(int i = 0; i < 100; i++) < System.out.println(i); if (i == stop) < return; >> > 

В данном случаи мы в функцию передаем число, после которого следует прекратить вывод чисел.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *