Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 4

Использование аргументов в методах

13.09.2017, 17:13. Показов 1126. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть чисто условный класс. В классе два метода:
MethodA() - обрабатывает массив
MethodB() - вызывает MethodA()
Вопрос: стоит ли передавать поле-массив arr в качестве аргумента при вызове метода MethodA(), или работать напрямую с полем? Какой из вариантов предпочтительней, и если можно в двух словах почему.
Заранее спасибо.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class MyClass
{
    private int[] arr = new int[n];
    
    private void MethodA() // Первый вариант
    {
        arr[0] = 0;
        arr[1] = 1;
    }
 
    private void MethodA(int[] arr) // Второй вариант
    {
        arr[0] = 0;
        arr[1] = 1;
    }
 
    public void MethodB()
    {
        MethodA();
        
        /*или*/
        
        MethodA(arr);
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2017, 17:13
Ответы с готовыми решениями:

Использование параметров в методах и классах (Шилдт)
Здравствуйте. Не могу разобраться в логике программы-примера из книги Шилдта. Вот код: using System; class ChkNum { // Return...

Использование переменного числа аргументов
Имеется метод MinVal, который принимает переменное число аргументов и возвращает минимальный. Если в метод не было передано аргументов, то...

Вопрос о статических методах в C#
Прочитал в книге "Мак-Дональн М., Шпушта М., Microsoft ASP.NET 2.0 c примерами на C# 2005 для профессионалов, Вильямс, 2006" ...

2
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
13.09.2017, 17:22
Лучший ответ Сообщение было отмечено MykolaPitersky как решение

Решение

Цитата Сообщение от MykolaPitersky Посмотреть сообщение
стоит ли передавать поле-массив arr в качестве аргумента при вызове метода MethodA(), или работать напрямую с полем?
В данном случае — работайте с полем.

Цитата Сообщение от MykolaPitersky Посмотреть сообщение
Какой из вариантов предпочтительней, и если можно в двух словах почему.
Если метод предназначен для работы со своими собственными данными (полями), то передавать ничего не нужно.
Если предполагается, что данные будут приходить извне (из другого класса), то надо делать параметр.
1
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 4
13.09.2017, 17:34  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2017, 17:34
Помогаю со студенческими работами здесь

Помогите разобраться в методах
Помогите разобраться в методах. Написал такой просто кусок кода private void T1_Tick(object sender, EventArgs e) { ...

Разлия в методах копирования
Уважаемые, не может ли мне кто объяснить различие в методах CopyTo и ToArray? Зарание благодарю.

Вопрос о потоках выполнения и методах
допустим есть простой метод в определенном классе class Printer { public void Print() { for (int i...

Изменение переменной в опр. методах
как сделать так, чтобы определенную переменную можно было изменять только в определенных мною методах? Можно ли так сделать? Добавлено...

Как использовать переменную в нескольких методах
у меня есть несколько кнопок разные просчеты на каждой из них но есть потребность получить переменную с одного просчета для того чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru