Отображение заметок с помощью String.Join

#c# #asp.net #string

#c# #asp.net #строка

Вопрос:

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

-Имя пользователя
-Примечания

Теперь вот код для получения заметок с использованием LINQ2SQL:

 int getName = Int16.Parse(Session["Selected"].ToString());
var showNotes = from r in em.Test
               where r.Name == getName
               select r.Note;
var showUser = from r in em.Test
               where r.Name == getName
               select r.UserName;

tbShowNote.Text = String.Join(Environment.NewLine, showNotes);
tbShowNote.Text = String.Join(Environment.NewLine, showUser);
  

Здесь отображается имя пользователя, но не примечание. Я хочу показать что-то вроде этого:

  1. Это тестовая заметка. -UserName1

Ответ №1:

Просто выберите заметки и имя пользователя в одном запросе, а затем выполните форматирование впоследствии:

 var showNotes = from r in em.Test
                where r.Name == getName
                select new { Name = r.UserName, Notes = r.Note }

var userNotes = showNotes.Select((x,i) => string.Format("{0}. {1}-{2}", 
                                                        i, 
                                                        x.Notes, 
                                                        x.Name));

tbShowNote.Text = String.Join(Environment.NewLine, userNotes );