Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2013, 16:57   #1
darkmesser
 
Регистрация: 04.11.2013
Сообщений: 3
По умолчанию Создание экземпляров класов

У меня эсть клас Class1.
Общяя задача: создавать екземпляры класа через консоль, удалять их, просматривать данные о них...

Я хочу в консоле создавать екземпляры этого класа и вводить название этого екземпляра с клавиатуры:

Код:
string name=Console.ReadLine();
Class1 name=new Class1();
Но при єтом выдает ошибки: уже создана локальная переменная name, неявное преобразование Class1 в string невозможно

Как мне задавать название экземпляра с консоли без возникновения ошибок? Или как вообще записывать екземпляры в лист или масив, а потом выбирать этот екземпляр и работать с ним(через методы)?
darkmesser вне форума Ответить с цитированием
Старый 17.11.2013, 17:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно. Нельзя безнаказанно создавать объекты, вводя с консоли их имена.
В твоем случае нужно создавать экземпляр класса в некий массив, а уже в самом экземпляре описав поле Name вводить в него с клавиатуры.
С коллекциями работать умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.11.2013, 18:05   #3
darkmesser
 
Регистрация: 04.11.2013
Сообщений: 3
По умолчанию

Нет, не умею.
Но буду рад, если Вы напишите решение этой проблемы
darkmesser вне форума Ответить с цитированием
Старый 17.11.2013, 18:05   #4
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Странный код. Вы объявляете переменную name сначала типа string, а потом типа Class1. :huh:
Может конечно я чего не знаю здесь, но скорее всего это ошибочно - используйте разные имена.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 17.11.2013, 18:42   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примера нет. Но есть чтиво: http://msdn.microsoft.com/ru-ru/library/ybcx56wz

Ан нет. Вру. Пример на скорую руку:
Код:
using System.IO;
using System;
using System.Collections.Generic;

public class clas
{
    public string name;   
    public clas(string s){name=s;}
}
class Program
{
    static List<clas> l = new List<clas>();
    static void Main()
    {
        l.Add(new clas(Console.ReadLine()));
        l.Add(new clas(Console.ReadLine()));
        l.Add(new clas(Console.ReadLine()));
        foreach(clas c in l){
            Console.WriteLine(c.name);
        }

    }
}
I'm learning to live...

Последний раз редактировалось Stilet; 17.11.2013 в 18:47.
Stilet вне форума Ответить с цитированием
Старый 20.11.2013, 04:59   #6
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Reflection попробуйте. Там можно создать экземпляр класса по его имени.
simples вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наследование класов mixon-21 Общие вопросы C/C++ 0 14.09.2013 23:00
Создание экземпляров класса MuradS60 Общие вопросы C/C++ 1 01.04.2012 18:21
Наследственность класов С++ IGOR199304 Помощь студентам 2 19.10.2011 21:50
Иерархия класов для 3d редактора j2ko Помощь студентам 0 25.04.2011 15:18
Композиция класов fantom_ZET Общие вопросы C/C++ 6 31.10.2010 16:50