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);
}
}
}```
c#学习——索引器案例
最新推荐文章于 2024-04-03 16:39:10 发布