文档介绍:第18章生成星期数——枚举数与迭代器
(一)实训主题:第18章生成星期数——枚举数与迭代器
(二)402机房
(三)能力目标
1. 理解枚举数、迭代器概念及其用法。
2. 学会定义、使用迭代器,生成可枚举对象的枚举数。
3. 能运用迭代器,编写可枚举星期类应用程序,以生成一周的天数。
(四)实训内容、程序运行界面、关键代码
1. 创建一个WPF应用程序项目,编写含有生成一个星期各天默认迭代器、一周编号和工作日等命名迭代器的可枚举类。再设计一个界面来使用这些迭代器。
界面如下:
代码如下:
public partial class Window1 : Window
{
public Window1()
{
ponent();
}
Week w = new Week();
private void button1_Click(object sender, RoutedEventArgs e)
{
();
foreach (EnumWeek enumW in w)
{
+= enumW + " ";
}
}
private void button2_Click(object sender, RoutedEventArgs e)
{
();
foreach (int enumW in ())
{
+= enumW + " ";
}
}
private void button3_Click(object sender, RoutedEventArgs e)
{
();
foreach (EnumWeek enumW in (1,5))
{
+= enumW + " ";
}
}
private void button4_Click(object sender, RoutedEventArgs e)
{
();
int n = (());
foreach (EnumWeek enumW in (n))
{
+= enumW + " ";
}
}
private void button5_Click(object sender, RoutedEventArgs e)
{
= "";
= "";
= "";
= "";
= "";
}
private void button6_Click(object sender, RoutedEventArgs e)
{
();
}
}
enum EnumWeek
{
星期日,星期一,星期二,星期三,星期四,星期五,星期六
}
class Week : IEnumerable
{
public IEnumerator GetEnumerator()
{
EnumWeek w;
for(int i = 0;i <= 6;i++)
{
w = (EnumWeek)i;
yield return w;
}
}
public IEnumerable GetNumOfWeek()
{
for (EnumWeek w = ; w <= ; w++)
{
yield return (int)w;
}
}
public IEnumerable GetWeekdays(int from, int to)
{
if (from <= to && from >= 0 && from <= 6 && to >= 0 & to <= 6)
{
EnumWeek w;
for (int i = from; i <= to; i++)
{
w = (EnumWeek)i;
yield return w;
}
}
else
{
("星期的