c#学习——索引器案例

    科技2026-04-15  2

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 索引器 { public partial class Form1 : Form { class Book//定义一个图书类 { string _title; public Book(string title) { this._title = title; } public string Title { get { return _title; } } } class BookStack//定义一个书架类,该类包含一个Book的数组作为成员 { Book[] books; public BookStack(int capacity) { books = new Book[capacity]; } public Book this[int index] { get { if (index < 0 || index >= books.Length) { return null; } return books[index]; } set { if (index < 0 || index >= books.Length) { return; } books[index] = value; } } public Book this[string title] { get { foreach (Book p in books) { if (p != null && p.Title == title) { return p; } } return null; } } } BookStack bookStack = new BookStack(3); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e)//添加按钮 { int index = Convert.ToInt32(textBox2.Text)-1; Book book = new Book(textBox1.Text); bookStack[index] = book; label3.Text = string.Format("图书添加成功"); } private void button3_Click(object sender, EventArgs e)//显示按钮 { int index = Convert.ToInt32(textBox2.Text) - 1; Book book = new Book(textBox1.Text); if (book != null) { label3.Text = string.Format("第{0}本书的名称是:{1}",index+1,book.Title); } else label3.Text = string.Format("没有第{0}本书!", index + 1); } private void button2_Click(object sender, EventArgs e)//搜索按钮 { Book book = bookStack[textBox1.Text]; if (book != null) { label3.Text = string.Format("找到书名为:{0}的图书",book.Title); } else label3.Text = string.Format("没有找到书名为:{0}的图书",textBox1.Text); } } }```
    Processed: 0.018, SQL: 9