public class Photo { public string Title{get; set;} }public class Album { public list<Photo> photoList = new list<Photo>(); public Photo Search(string photoTitle) { foreach( Photo p in photoList) { if( p.Title == photoTitle) return p; } } }
using System; using System.Data; using System.Data.SqlClient; using System.Collections; using System.Collections.Generic;namespace test {class Photo { private string _title; public string Title { get{return _title;} set{_title=value;} } }class Album { private List<Photo> AddPhoto; public Album() { AddPhoto = new List<Photo>(); } public void Add(Photo p)//增加 { AddPhoto.Add(p); } public Photo this[int index]//实现索引器 { get { return AddPhoto[index]; } } }class Test { static void Main() { // Album a = new Album(); Photo p = new Photo(); p.Title = "Test"; a.Add(p); Console.WriteLine(((Photo)a[0]).Title); Console.Read(); } } }
最近在看C#,正好看了一下。1.创建像片类 public class PhotoClass { private string title; public PhotoClass():this("") { } public PhotoClass(string newTitle) { this.title = newTitle; } public String Title { get { return this.title; } set { this.title = value; } } } 2.创建像册类 这个类需要: using System.Collections; public class AlbumClass:CollectionBase { public void Add(PhotoClass newPhoto) { List.Add(newPhoto); } public void Remove(PhotoClass oldPhoto) { List.Remove(oldPhoto); } public PhotoClass this[int index] { get { return (PhotoClass)List[index]; } set { List[index] = value; }
} }3.测试运行 class Program { static void Main(string[] args) { AlbumClass objAlbum = new AlbumClass();
{
public string Title{get; set;}
}public class Album
{
public list<Photo> photoList = new list<Photo>(); public Photo Search(string photoTitle)
{
foreach( Photo p in photoList)
{
if( p.Title == photoTitle)
return p;
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Generic;namespace test
{class Photo
{
private string _title; public string Title
{
get{return _title;}
set{_title=value;}
}
}class Album
{
private List<Photo> AddPhoto; public Album()
{
AddPhoto = new List<Photo>();
} public void Add(Photo p)//增加
{
AddPhoto.Add(p);
}
public Photo this[int index]//实现索引器
{
get { return AddPhoto[index]; }
}
}class Test
{
static void Main()
{
//
Album a = new Album();
Photo p = new Photo();
p.Title = "Test";
a.Add(p);
Console.WriteLine(((Photo)a[0]).Title);
Console.Read(); } }
}
public class PhotoClass
{
private string title; public PhotoClass():this("")
{ }
public PhotoClass(string newTitle)
{ this.title = newTitle; } public String Title
{
get { return this.title; }
set { this.title = value; }
}
}
2.创建像册类
这个类需要:
using System.Collections; public class AlbumClass:CollectionBase
{
public void Add(PhotoClass newPhoto)
{
List.Add(newPhoto);
}
public void Remove(PhotoClass oldPhoto)
{
List.Remove(oldPhoto);
}
public PhotoClass this[int index]
{
get { return (PhotoClass)List[index]; }
set { List[index] = value; }
}
}3.测试运行
class Program
{
static void Main(string[] args)
{
AlbumClass objAlbum = new AlbumClass();
PhotoClass objPhoto1=new PhotoClass("p1");
objAlbum.Add(objPhoto1);
objAlbum.Add(new PhotoClass("P2")); foreach (PhotoClass obj in objAlbum)
{
Console.WriteLine(obj.Title);
} }
}4.结果:p1
p25.突然想到,这个还不能用名字去索引。只能用下标去索引。
书上用名字索引,是继承于 DictionaryBase,用下标索引是继承于CollectionBase
要同时达到这二个目的,难道是把其中一个,改成继承他们上的一个接口。
嗯,明天试试看