2013-02-16 3 views
-3

Итак, я знаю, что задано много вопросов по этому же точному вопросу, и есть много отличных ответов, но все же я не могу исправить свою проблему с моим кодом , Поэтому я БОЛЬШЕ оцениваю все, что может предложить. Мне действительно кажется, что я все пробовал, и я просто не знаю, в чем проблема. Я работаю над этим навсегда. Я хочу прочитать из списка и записать его на консоль. Но когда я пытаюсь написать это, это пусто.Как читать из списка, используя LINQ

public class Admin 
{ 
    public void Maine() 
    { 
     List<Books> myLibraryBooks = new List<Books>(); 

       Books book1 = new Books(); 

       Console.Write("Enter Author Name:"); 
       book1.Author = Console.ReadLine(); 

       Console.Write("Enter Book Title:"); 
       book1.Title = Console.ReadLine(); 

       Console.Write("Enter Book ISBN:"); 
       book1.ISBN = Console.ReadLine(); 

       Console.Write("Enter the Publish Date:"); 
       book1.Publish_Date = Console.ReadLine(); 

       myLibraryBooks.Add(new Books() { Author = book1.Author.ToUpper(), Title = book1.Title.ToUpper(), ISBN = book1.ISBN, Publish_Date = book1.Publish_Date.ToUpper() }); 
       Console.WriteLine("Book added Successfully"); 


       Console.Write("Enter Author's Name:"); 
       string input_to_find = Console.ReadLine(); 
       var author = from Authors in myLibraryBooks 
          where Authors.Author == input_to_find 
          select Authors; 

       foreach (var book in author) 
       { 
        Console.WriteLine(book.Author, book.Title, book.ISBN, book.Publish_Date); 
       } 


class Books 
{ 
    public string Author { get; set; } 
    public string Title { get; set; } 
    public string ISBN { get; set; } 
    public string Publish_Date { get; set; } 
} 
+7

Что не работает? –

+0

В чем вопрос? –

+2

Кроме того, почему вы добавляете новые книги в список, когда только что закончили его создание? Почему бы просто не добавить тот, который вы инициализировали и заполнили вместо этого? –

ответ

0
public class Admin 
{ 
    public void Maine() 
    { 
     List<Books> myLibraryBooks = new List<Books>(); 

     Books book1 = new Books(); 

     Console.Write("Enter Author Name:"); 
     book1.Author = Console.ReadLine(); 

     Console.Write("Enter Book Title:"); 
     book1.Title = Console.ReadLine(); 

     Console.Write("Enter Book ISBN:"); 
     book1.ISBN = Console.ReadLine(); 

     Console.Write("Enter the Publish Date:"); 
     book1.Publish_Date = Console.ReadLine(); 

     myLibraryBooks.Add(book1); 
     Console.WriteLine("Book added Successfully"); 


     Console.Write("Enter Author's Name:"); 
     string input_to_find = Console.ReadLine(); 

     var author = from Authors in myLibraryBooks 
        where StringComparer.OrdinalIgnoreCase.Equals(Authors.Author,input_to_find) 
        select Authors; 

     foreach (var book in author) 
     { 
      Console.WriteLine(String.Format("{0} - {1} - {2} - {3}", book.Author, book.Title, book.ISBN, book.Publish_Date)); 
     } 

    } 

    class Books 
    { 
     public string Author { get; set; } 
     public string Title { get; set; } 
     public string ISBN { get; set; } 
     public string Publish_Date { get; set; } 
    } 
} 
+0

Calvin СПАСИБО ВАС СПАСИБО ВАС СПАСИБО ВАМ СПАСИБО СПАСИБО ВАМ СПАСИБО СПАСИБО ВАМ СПАСИБО SOOOOOOOOOOOOOOO Много. –

+0

Вы понимаете изменения? –

+1

@ Calvin.Allen: Вы не должны делать его нижним/верхним (хотя 'ToUpper' менее подвержен ошибкам, чем' ToLower'). Используйте 'StringComparer.OrdinalIgnoreCase.Equals (Authors.Author, input_to_find)'. http://stackoverflow.com/a/234751/284240 –

1

Одна ошибка - вы неправильно метод точки входа:

// Was Maine() 
public void Main() 
{ 
+0

Эй, мне пришлось изменить это, потому что Майн уже был в использовании. Поэтому мне пришлось изменить его, чтобы он работал правильно. –

0
var books = from book in myLibraryBooks 
      where book.Author == input_to_find 
      select book; 

foreach (var book in books) 
{ 
    Console.WriteLine(book.Author, book.Title, book.ISBN, book.Publish_Date); 
} 
+0

'list.Publish_Date' должен быть' book.Publish_Date' –

+0

Yup. Скопируйте/вставьте ошибку ... –

+0

Спасибо, проблема исправлена ​​!!!!!!!!!! Спасибо, ребята, SOOOOOOOOOOOO много. –

Смежные вопросы