Создать программу по типу картотеки - C#
Формулировка задачи:
Т.е. форма на которой будет список (чего либо[например книг]) , причём что бы было можно осуществлять поиск по этому списку , а так же добавлять новые элементы ,
не прошу готовую программу , прошу советов для реализации , собственно с чего мне начать?
что лучше использовать чего НЕ делать , а что делать,
если кто то делал нечто подобное , просьба поделится что бы было на что посмотреть , и прикинуть приблизительный интерфейс и собсно как к этому вопросу подойти
Позже создам тему , где надеюсь на неблоьшую помощь (ну если она вдруг потребуется)
Заранее спасибо=)
Решение задачи: «Создать программу по типу картотеки»
textual
Листинг программы
using System;
namespace ConsApp_Book
{
class Program
{
static void Main(string[] args)
{
Book[] books =
{
new Book("Похищение манхэттена", "Джон Стиц", "АСТ", 432u, 1993u),
new Book("C# 4.0. Полное руководство", "Герберт Шилдт", "Вильямс", 1056u, 2013u),
new Book("Иррациональный мозг. Почему мы думаем одно, а делаем - другое", "Антон Малютин", "Эксмо", 352u, 2011u),
new Book("LINQ. Язык интегрированных запросов в C# 2010 для профессионалов", "Адам Фримен, Джозеф Раттц-мл.", "Вильямс", 656u, 2011u),
new Book("Принципы, паттерны и методики гибкой разработки на языке C#", "Р. С. Мартин, М. Мартин", "Символ-Плюс", 768u, 2011u),
new Book("Какая-то книга 1", "Какой-то издатель 1"),
new Book("Какая-то книга 2")
};
Display(books);
Console.ReadKey();
}
static void Display(Book[] books) //выводить на экран должен этот класс, а никак не Book, иначе быдлокод
{
foreach (var book in books)
{
WriteColoredLine("----------------------------------------", ConsoleColor.Yellow);
Console.WriteLine(book); //Автоматом будет вызван метод ToString()
Console.WriteLine();
}
}
static void WriteColoredLine(string text, ConsoleColor color)
{
ConsoleColor currentColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(text);
Console.ForegroundColor = currentColor;
}
}
public class Book
{
#region Поля
private string _title; //названия книги
private string _author; //автор книги
private string _publisherName; //название издательства
private uint _pageQuantity; //количество страниц
private uint _publicationDate; //год выпуска (дата публикации)
#endregion
#region Конструкторы
public Book(string title)
: this(title, string.Empty, string.Empty, 1u, 0u)
{
}
public Book(string title, string author)
: this(title, author, string.Empty, 1u, 0u)
{
}
public Book(string title, string author, string publisherName, uint pageQuantity, uint publicationDate)
{
Title = title;
Author = author;
PublisherName = publisherName;
PageQuantity = pageQuantity;
PublicationDate = publicationDate;
}
#endregion
#region Свойства
public string Title
{
get { return _title; }
set { _title = value; }
}
public string Author
{
get { return _author; }
set { _author = value; }
}
public string PublisherName
{
get { return _publisherName; }
set { _publisherName = value; }
}
public uint PageQuantity
{
get { return _pageQuantity; }
set { _pageQuantity = value; }
}
public uint PublicationDate
{
get { return _publicationDate; }
set { _publicationDate = value; }
}
#endregion
public override string ToString()
{
return string.Format("Название: {0}\r\nАвтор: {1}\r\nНазвание издательства: {2}\r\nКоличество страниц: {3}\r\nГод выпуска: {4}",
Title, Author, PublisherName, PageQuantity.ToString(), PublicationDate.ToString());
}
}
}