Разобрать список в строку - PullRequest
0 голосов
/ 21 июня 2011

Может быть, я слишком умен, но у меня есть метод, который просматривает перечислимый список (коллекции) и возвращает его в виде ........... перечисляемого списка (блестки).

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

Я почти уверен, что это звучит сложнее, чем я должен был это сделать. Таким образом, класс возвращает список (Sparkles) через метод с именем getSparkles () .

Я думал, что правильно сделал foreach:

string msg;
List<string> layoutListNames = new List<string>();

foreach (string name in layoutList.getLayout());
{
     msg = "\n" + name;
}

Компилятор, однако, не согласен со мной.

Дайте мне подсказку. Я хотел бы научиться.

Редактировать: Извините. getLayout () возвращает список <>. И я удалил точку с запятой. Oh / facepalm.

Я написал это в конструкторе для проверки класса и забыл изменить имя конструктора, чтобы оно совпадало с именем класса. Спасибо за невероятно быстрые ответы.

Ответы [ 3 ]

6 голосов
/ 21 июня 2011

Что плохого в том, что ";" позади foreach (имя строки в layoutList.getLayout ());

Удалите это, и компилятор согласится ..

Предложение по улучшению:

string msg = string.Join("\n", layoutListNames);
2 голосов
/ 21 июня 2011

С одной стороны: вам нужно удалить ; после foreach.В противном случае это будет пустой оператор цикла и в следующем блоке name не будет объявлено.

1 голос
/ 21 июня 2011

и попробуйте еще раз ...

    static void Main(string[] args)
    {
        string msg = null;
        List<string> layoutListNames = new List<string>() { "test1","test2"};

        foreach (string name in layoutListNames)
        {
            if (msg != null) msg += "\n";
            msg += name;
        }

        Console.WriteLine("at 1:" + msg);

        msg = string.Join("\n", layoutListNames.ToArray());

        Console.WriteLine("at 2:" + msg);

        Console.Read();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...