Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
 Аватар для Anvean
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303

Как записать в файл Определенные поля класса?

09.05.2021, 10:43. Показов 2133. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некая коллекция сущностей, и мне нужно записывать в файл некоторые поля сущности (Которые укажет пользователь вводом с консоли через запятую), вопрос как это сделать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.05.2021, 10:43
Ответы с готовыми решениями:

Записать в Excel файл определенные поля из формы
Поделитесь опытом, как сделать так, чтобы определенные поля из формы С# подставлялись в Exel файл

Записать определенные поля класса в файл
Дана коллекция сущностей ***. Приложение, которое будет генерировать текстовый файл, по веденным названиям полей класса ***. Название полей...

как записать в файл содержимое объекта класса если в нем объявлены как поля List - ы?
как записать в файл содержимое объекта класса если в нем объявлены как поля List - ы?

4
 Аватар для esperanto_qun
1124 / 656 / 393
Регистрация: 28.01.2021
Сообщений: 1,336
09.05.2021, 11:38
Anvean,

C#
1
2
3
4
5
static void Print<T>(Expression<Func<T>> expression)
        {
            Console.WriteLine($"Name - {((MemberExpression)expression.Body).Member.Name}");
            Console.WriteLine($"Value - { expression.Compile()}");
        }
1
 Аватар для Anvean
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
09.05.2021, 12:19  [ТС]
esperanto_qun, О, вот оно как, спасибо вам, и ещё вопрос по поводу
C#
1
 Expression<Func<T>> expression
не сильно понятно что я должен передавать в метод, входные данные - строка с консоли которая равна одному из полей класса..
0
 Аватар для esperanto_qun
1124 / 656 / 393
Регистрация: 28.01.2021
Сообщений: 1,336
09.05.2021, 12:28
Лучший ответ Сообщение было отмечено Anvean как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
        static void Main()
        {
            string value = "Name";
            Print(() => value);
        }
        static void Print<T>(Expression<Func<T>> expression)
        {
            Console.WriteLine($"Name - {((MemberExpression)expression.Body).Member.Name}");
            Console.WriteLine($"Value - { expression.Compile()()}");
        }
1
 Аватар для Anvean
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
09.05.2021, 13:14  [ТС]
esperanto_qun, Либо лыжи не едут, либо я... До меня не доходит как это должно работать,
Есть сущность.

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
public class Person
    {
        public int Age { get; set; }
        public string EyeColor { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
        public string Company { get; set; }
        public string Address { get; set; }
        public decimal? Salary { get; set; }
    }

И Коллекция этих сущностей
Кликните здесь для просмотра всего текста
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public static class PersonList
    {
        public static List<Person> GetListPerson()
        {
            return new List<Person>
            {
                new Person
                {
                    Age = 24,
                    EyeColor = "blue",
                    Name = "Juarez Mayo",
                    Gender = "male",
                    Company = "MAGNEATO",
                    Address= "284 Kansas Place, Beyerville, Pennsylvania, 5206",
                    Salary = (decimal?) 345.6
                },
                new Person
                {
                    Age= 26,
                    EyeColor= "green",
                    Name= "Orr Love",
                    Gender= "male",
                    Company= "BULLZONE",
                    Address= "893 Beaver Street, Johnsonburg, Nebraska, 503",
                    Salary = (decimal?) 99.32
                },
                new Person
                {
                    Age= 32,
                    EyeColor= "blue",
                    Name= "Mccall Munoz",
                    Gender= "male",
                    Company= "DOGNOST",
                    Address= "850 Mill Road, Chemung, Mississippi, 2962",
                    Salary = (decimal?) 3000.89
                },
                new Person
                {
                    EyeColor= "green",
                    Name= "Strong Downs",
                    Gender= "male",
                    Company= "BEADZZA",
                    Address= "377 Homecrest Court, Tuskahoma, New Jersey, 3583"
                },
                new Person
                {
                    EyeColor= "brown",
                    Name = "Sarah Pope",
                    Gender = "female"
                }
            };
        }
}

В мейне я получаю коллекцию, и информацию от пользователя какие поля он хочет записать в файл
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static void Main(string[] args)
        {
            string pathCsvFile = "D:\\file.csv";
 
            var persons = PersonList.GetListPerson();
            var csv = new StringBuilder();
 
            Console.WriteLine("Введите поля");
            var str = Console.ReadLine().Split(",");
 
            //Вот тут должна происходить магия
 
            File.WriteAllText(pathCsvFile, csv.ToString());
 
        }

В чем заключается задача вашего метода Print()? Он должен сравнивать поле которое пришло и поля сущности? Если да, то каким образом?
Просто не понимаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2021, 13:14
Помогаю со студенческими работами здесь

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

DataGrid, показать только определённые поля класса
Здравствуйте, привязал я ObservableCollection к DataGrid, но мне нужно выводить не все поля классов, а лишь 3 из них, как осуществить сие...

Как элементы ArrayList записать в поля класса?
Все привет, необходимо считать с файла в ArrayList. файл типа: Иванов Иван иванович 123п 4 4 4 фио группа и оценки по 3 предметам ...

Как записать объект класса в файл?
Добрый день! Подскажите пожалуйста, объект класса можно целиком записать в файл? У меня выводится только что-то вроде По...

Как правильно записать в ini файл из поля Memo.
Делаю небольшой шаблон для тестированмя, произвожу запись с поля Memo.В coзданный ini файл но проблема он перезаписывает старую запись а...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru