📄 program.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example14_1 {
class Program {
static void Main(string[] args) {
MyList<int> myList = new MyList<int>();
for (int x = 0; x < 5; x++) {
myList.Add(x);
}
foreach (int i in myList) {
System.Console.WriteLine(i);
}
Console.ReadLine();
}
}
/// <summary>
/// 泛型类MyList
/// </summary>
/// <typeparam name="T">类型参数T</typeparam>
public class MyList<T> {
/// <summary>
/// 内部类,表示MyList中的元素
/// </summary>
private class MyItem {
/// <summary>
/// 构造函数
/// </summary>
/// <param name="t">参数t,表示元素</param>
public MyItem(T t) {
next = null;
data = t;
}
/// <summary>
/// 字段,表示下一个元素
/// </summary>
private MyItem next;
/// <summary>
/// 属性,表示下一个元素
/// </summary>
public MyItem Next {
get {
return next;
}
set {
next = value;
}
}
/// <summary>
/// 字段,表示元素
/// </summary>
private T data;
/// <summary>
/// 属性,表示元素
/// </summary>
public T Data {
get {
return data;
}
set {
data = value;
}
}
}
/// <summary>
/// 字段,表示MyList中的元素
/// </summary>
private MyItem myItem;
/// <summary>
/// MyList的构造函数
/// </summary>
public MyList() {
myItem = null;
}
/// <summary>
/// Add方法,用于向MyList中添加元素
/// </summary>
/// <param name="t">要添加的元素</param>
public void Add(T t) {
MyItem n = new MyItem(t);
n.Next = myItem;
myItem = n;
}
/// <summary>
/// 迭代器
/// </summary>
/// <returns>元素</returns>
public IEnumerator<T> GetEnumerator() {
MyItem currentItem = myItem;
while (currentItem != null) {
yield return currentItem.Data;
currentItem = currentItem.Next;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -