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

Ввод данных в конструкторе

04.01.2023, 14:13. Показов 832. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Мне нужно чтобы перед добавлением вылазил текст

Console.Write("Введите номер: ");
Convert.ToInt32(Console.ReadLine())
Console.Write("Введите уровень: ");
Console.ReadLine();
Console.Write("Введите никнейм: ");
Convert.ToInt32(Console.ReadLine());

Code
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {        
            Database database = new();
 
            database.ShowItems();
        }
    }
 
    class Database
    {
        private List<Player> DataPlayers = new();
 
        public Database()
        {
            DataPlayers.Add(new Player(Convert.ToInt32(Console.ReadLine()), Console.ReadLine(), 
            Convert.ToInt32(Console.ReadLine())));
        }
 
        public void ShowItems()
        {
            for (int i = 0; i < DataPlayers.Count; i++)
            {
                Console.Write("Уникальный номер: " + DataPlayers[i].UniqueNumber + "\nУровень: " + DataPlayers[i].PlayerLevel
                 + "\nНикнейм: " + DataPlayers[i].NickName);
            }
        }
    }
 
    class Player
    {
        public int PlayerLevel { get; private set; }
 
        public string NickName { get; private set; }        
 
        public int UniqueNumber { get; private set; }
 
        public Player(int individualNumber, string moniker, int gamerLevel)
        {
            UniqueNumber = individualNumber;
            PlayerLevel = gamerLevel;
            NickName = moniker;
        }
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2023, 14:13
Ответы с готовыми решениями:

Ввод данных в конструкторе
Имеется код: class Personnel { public string Name; //Имя персонала public string Last_name; //Фамилия...

Сводка данных о методе\конструкторе
Как мне сделать сводку, возвращаемое значение, описание параметров для своих методов как здесь

Как ограничить ввод данных в конструкторе класса
Создаю класс, в котором должны быть ограничения на вводимую информацию. Например создаю следующий класс: class Student{ string...

5
172 / 118 / 57
Регистрация: 08.01.2013
Сообщений: 664
04.01.2023, 17:17
Вариаций добиться результата много...
1) создать интерфейс, создать классы на ввод и вывод информации унаследовав интерфейс
2) создать метод подобию ShowItems, и там реализовывать свои вопросики
3) зациклить + switch + какой нить count, чтобы разные вопросы задавал.
и так далее...

Добавлено через 3 минуты
4) можешь запульнуть что вначале написано в методе main + сохранив в какие нить переменные, а потом уже передать эти переменные в конструктор
1
0 / 0 / 0
Регистрация: 30.08.2022
Сообщений: 23
04.01.2023, 17:45  [ТС]
Ну я только начал проходить ООП и мне как раз говорили про 4 способ(4) можешь запульнуть что вначале написано в методе main + сохранив в какие нить переменные, а потом уже передать эти переменные в конструктор)
Я пробовал и в везде эти переменные закидывал, но они отображались только в выводе ShowItems().
Когда прописываешь Сonsole.WrileLine перед DataPlayers.Add(new Player(Convert.ToInt32(Console.ReadLine( )), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()))); А вот в сам DataPlayers.Add(new Player() переменные с текстом пробовал закидывать не видит, вот я и не знаю как их засунуть.

Добавлено через 17 минут
4 способ. Так?

Code
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string enterNumber = "Уникальный номер: ";
            string enterNickName = "\nНикнейм: ";
            string enterLevel = "\nУровень: ";
            
            Database database = new(enterNumber, enterNickName, enterLevel);
 
            database.ShowItems();
        }
    }
 
    class Database
    {
        private List<Player> DataPlayers = new();
 
        public Database(string enterNumber, string enterNickName, string enterLevel)
        {
            DataPlayers.Add(new Player(enterNumber, Convert.ToInt32(Console.ReadLine()), 
                enterNickName, Console.ReadLine(), enterLevel, Convert.ToInt32(Console.ReadLine())));
        }
 
        public void ShowItems()
        {
            for (int i = 0; i < DataPlayers.Count; i++)
            {
                Console.Write("Уникальный номер: " + DataPlayers[i].UniqueNumber + "\nУровень: " + DataPlayers[i].PlayerLevel
                 + "\nНикнейм: " + DataPlayers[i].NickName);
            }
        }
    }
 
    class Player
    {
        public string EnterNumber;
 
        public string EnterNickName;
 
        public string EnterLevel;
 
        public int PlayerLevel { get; private set; }
 
        public string NickName { get; private set; }
 
        public int UniqueNumber { get; private set; }
 
        public Player(string enterNumber, int individualNumber, string enterNickName, string moniker, string enterLevel, int gamerLevel)
        {
            EnterNumber = enterNumber;
            EnterNickName = enterNickName;
            EnterLevel = enterLevel;
            EnterNumber = enterNumber;
            UniqueNumber = individualNumber;
            PlayerLevel = gamerLevel;
            NickName = moniker;
        }
    }
}
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
04.01.2023, 17:59
DrootWorh,
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
26
27
28
29
30
static void Main(string[] args)
        {
           bool exit = true;
    Database database = new();
    do
    {
        Console.Write("Введите номер: ");
        int number = Convert.ToInt32(Console.ReadLine());
 
        Console.Write("Введите уровень: ");
        int level = Convert.ToInt32(Console.ReadLine());
 
        Console.Write("Введите никнейм: ");
        string NickName = Console.ReadLine();
        
        Player pl = new Player(number,NickName, level);
        database.Add(pl);
 
        Console.Write("Добавить еще? 1-да\n2-Вывод");
        int action = Convert.ToInt32(Console.ReadLine());
        
        if(action == 1)
            continue;
        else
          exit = false;
        
        Console.WriteLine(string.Join("\n--------------\n", database.ShowItems()));
 
    }while(exit);
        }
Кликните здесь для просмотра всего текста

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
26
27
28
29
30
31
class Database : List<Player>
{
    public IEnumerable<string> ShowItems()
    {
        foreach(Player player in this)
        {
            yield return player.ToString();
        }
    }
}
 
class Player
{
    public int PlayerLevel { get; private set; }
 
    public string NickName { get; private set; }
 
    public int UniqueNumber { get; private set; }
 
    public Player(int individualNumber, string moniker, int gamerLevel)
    {
        UniqueNumber = individualNumber;
        PlayerLevel = gamerLevel;
        NickName = moniker;
    }
 
    public override string ToString()
    {
        return $"Уникальный номер: {UniqueNumber}\nУровень: {PlayerLevel}\nНикнейм: {NickName}";
    }
}
1
172 / 118 / 57
Регистрация: 08.01.2013
Сообщений: 664
04.01.2023, 18:13
Лучший ответ Сообщение было отмечено DrootWorh как решение

Решение

Цитата Сообщение от DrootWorh Посмотреть сообщение
4 способ. Так?
C#
1
2
3
4
5
6
Console.Write("Введите номер: ");
int enterNumber = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите уровень: ");
string enterLevel = Console.ReadLine();
Console.Write("Введите никнейм: ");
string enterNickName = Console.ReadLine();
Добавлено через 3 минуты
Цитата Сообщение от DrootWorh Посмотреть сообщение
Когда прописываешь Сonsole.WrileLine перед DataPlayers.Add(new Player(Convert.ToInt32(Console.ReadLine( )), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()))); А вот в сам DataPlayers.Add(new Player() переменные с текстом пробовал закидывать не видит, вот я и не знаю как их засунуть.
C#
1
new Player(enterNumber, enterNickName, enterLevel)
Добавлено через 5 минут
Цитата Сообщение от DrootWorh Посмотреть сообщение
Я пробовал и в везде эти переменные закидывал, но они отображались только в выводе ShowItems().
потому что команда на вывод информации в консоль находиться в этом методе(Console.Write())

Добавлено через 1 минуту
C#
1
string a = Console.ReadLine(); // считывает строку из консоли и сохраняет в строковою переменную
1
0 / 0 / 0
Регистрация: 30.08.2022
Сообщений: 23
04.01.2023, 18:15  [ТС]
bloomder, Капец столько мучался, а так всё просто. Всё до меня дошло. Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2023, 18:15
Помогаю со студенческими работами здесь

Ввод с клавиатуры в конструкторе
Добавьте третий конструктор, который вводит координаты центра и радиус с клавиатуры и присваивает значения itsX, itsY, itsRadius.

Не получается осуществить ввод в конструкторе
По какой-то неведомой мне причине пропускает ввод &quot;ФИО получателя&quot; . Прошу помощи. Вообще нужно выполнить вот это задание: Описать...

Валидация данных в конструкторе
Доброго времени суток. Такая проблема: мне нужно считать из файла данные (размер массива и массив) и занести их в объект (в...

защита от некорректных данных в конструкторе
Здравствуйте, вот пишу довольно тривиальный класс о представлении треугольника. Поля класса - углы и стороны. По моему мнению для...

Создать 2 запроса в конструкторе по данной базе данных
Здравствуйте всем, нужна ваша помощь. Во вложении база данных, по ней необходимы вот такие запросы: 1)Для указанного интервала дат...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru