C # Перебрать коллекцию и назначить каждый объект переменной - PullRequest
0 голосов
/ 26 апреля 2011

Я уверен, что это довольно просто, но я не могу понять это правильно.У меня есть сборник ICollection пользователей.Эта коллекция может иметь 1 или много.Теперь я хочу просмотреть эту коллекцию и назначить каждому пользователю переменную, которую я затем смогу использовать для заполнения электронной таблицы.

В настоящее время у меня есть этот код:

    string username = null;

        foreach (var user in dailyReport)
        {
             username = user.UserName;
        }

        Cell cell= worksheet.Cells["B5"];
        cell.PutValue(username);

Сейчасочевидно, это просто помещает последнего пользователя коллекции в ячейку B5!Как я могу собрать все user.UserNames, чтобы я мог разместить их в B5, B6, B7 и т. Д. ????

Ответы [ 3 ]

1 голос
/ 26 апреля 2011

Чтобы получить список имен пользователей:

List<string> userNames = dailyReport.Select( x=> x.UserName).ToList();

В качестве альтернативы вы можете просто выполнить присваивание в цикле напрямую:

    int index = 5;
    foreach (var user in dailyReport)
    {
         Cell cell= worksheet.Cells["B"+ index.ToString()];
         cell.PutValue(user.UserName);
         index++;
    }
0 голосов
/ 26 апреля 2011
int i = 5;
foreach (var user in dailyReport)
{
    worksheet.Cells["B" + (i++).ToString()].PutValue(user.UserName);
}
0 голосов
/ 26 апреля 2011

Вам нужно поместить значение в цикл foreach.Конкретная вещь, о которой вы просите - получить разные переменные для каждого значения в коллекции, - невозможна и в любом случае вам не нужна.

string column = "B"; // or whatever your column is
int row = 1; // or whatever your starting value is

foreach (var user in dailyReport)
{
    string username = user.UserName;
    string cellAddress = String.Format("{0}{1}", column, row);
    Cell cell = worksheet.Cells[cellAddress];

    cell.PutValue(username);

    row++; // make sure to increment the row, or every username goes in the same cell
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...