索引器使用示例
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Threading;
namespace Index
{
class CourseScore
{
private string name;
private int courseID;
private int score;
public CourseScore(string name, int courseID, int score)
{
this.name = name;
this.courseID = courseID;
this.score = score;
}
public string Name
{
get { return name; }
set { name = value; }
}
public int CourseID
{
get { return courseID; }
set{courseID=value;}
}
public int Score
{
get { return score; }
set { score = value; }
}
}
class CourseIndexer
{
private ArrayList arrCourseScore;
public CourseIndexer()
{
arrCourseScore = new ArrayList();
}
public int this[string name, int courseID]
{
get
{
foreach(CourseScore cs in arrCourseScore)
{
if (cs.Name == name && cs.CourseID == courseID)
{
return cs.Score;
}
}
return -1;
}
set
{
arrCourseScore.Add(new CourseScore(name, courseID,value));
}
}
public ArrayList this[string name]
{
get
{
ArrayList tempArr = new ArrayList();
foreach (CourseScore cs in arrCourseScore)
{
if (cs.Name == name)
{
tempArr.Add(cs);
}
}
return tempArr;
}
}
}
class Program
{
static void Main(string[] args)
{
CourseIndexer csi = new CourseIndexer();
csi["張三",1]=90;
csi["張三", 2] = 80;
csi["張三",3] = 85;
csi["李四", 1] = 80;
Console.WriteLine(csi["張三", 2]);
Console.WriteLine("張三的所有的課程成績為:");
ArrayList tempArr;
tempArr = csi["張三"];
foreach(CourseScore cs in tempArr)
{
Console.WriteLine("姓名:" + cs.Name + " 課程編號:" + cs.CourseID + " 課程成績:" + cs.Score + "");
}
Thread.Sleep(5000);
}
}
class Indexclass
{
//private string[] name = new string[10];
//public string this[int index]
//{
// get { return name[index]; }
// set { name[index] = value; }
//}
private Hashtable name = new Hashtable();
public string this[int index]//A索引器
{
get { return name[index].ToString(); }
set { name.Add(index,value); }
}
public int this[string aName]//B索引器
{
get
{
foreach (DictionaryEntry d in name)
{
if (d.Value.ToString() == aName)
{
return Convert.ToInt32(d.Key);
}
}
return -1;
}
set { name.Add(value, aName); }
}
}
//另一個例子
class Program
{
static void Main(string[] args)
{
//陣列類的使用
//ArrClass[] a = new ArrClass[10];
//a[0]=new ArrClass("張三");
//a[1] = new ArrClass("李四");
//a[2] = new ArrClass("王五");
//Console.WriteLine("a[0]=" + a[0].Name);
//Console.WriteLine("a[1]=" + a[1].Name);
//Console.WriteLine("a[2]=" + a[2].Name);
//索引器的使用
Indexclass b = new Indexclass();
b[0] = "張三";
b[1] = "李四";
b[2] = "王五";
Console.WriteLine("b[0]=" + b[0]);
Console.WriteLine("b[1]=" + b[1]);
Console.WriteLine("b[2]=" + b[2]);
//b["A001"] = "張三";
//b["A002"] = "李四";
//b["A003"] = "王五";
//Console.WriteLine("b[A001]=" + b["A001"]);
//Console.WriteLine("b[A002]=" + b["A002"]);
//Console.WriteLine("b[A003]=" + b["A003"]);
//呼叫A索引器
b[100] = "張三";
b[200] = "李四";
b[300] = "王五";
Console.WriteLine("編號為100的員工是:"+b[100]);
Console.WriteLine("編號為200的員工是:" + b[200]);
Console.WriteLine("編號為300的員工是:" + b[300]);
//呼叫B索引器
Console.WriteLine("張三的編號是:" + b["張三"]);
Console.WriteLine("李四的編號是:" + b["李四"]);
Console.WriteLine("王五的編號是:" + b["王五"]);
b["馬六"] = 400;
b["錢七"] = 500;
//呼叫A索引器
Console.WriteLine("編號為400的員工是:" + b[400]);
Console.WriteLine("編號為500的員工是:" + b[500]);
}
}
}
相關文章
- 索引器索引
- 分割槽表及分割槽索引建立示例索引
- RCountDownLatch 分散式計數器鎖的使用示例CountDownLatch分散式
- GPUImageRawDataInput 使用示例GPUUIAI
- JMeter使用示例JMeter
- Tcpdump使用示例TCP
- rsync 使用示例
- javaJedis使用示例Java
- 【索引】oracle查詢使用索引和不使用索引的比較索引Oracle
- 表為多列為null的表之索引示例Null索引
- 【索引】使用索引分析快速得到索引的基本資訊索引
- C#-索引器C#索引
- mongodb索引使用MongoDB索引
- Mysql索引使用MySql索引
- 索引的使用索引
- dataview 元件使用示例View元件
- FileSystemWatch使用示例
- 函式索引的兩個應用場景示例(下)函式索引
- 數學建模例題2.27 陣列元素的索引示例陣列索引
- oracle 索引使用及索引失效總結Oracle索引
- MySql索引使用策略MySql索引
- Mysql——index(索引)使用MySqlIndex索引
- 使用索引消除排序索引排序
- ORACLE 索引使用規Oracle索引
- Matlab 使用caffe示例Matlab
- Oracle expdp/impdp 使用示例Oracle
- nginx 使用webrman配置示例NginxWeb
- react-ace使用示例React
- Jmeter (5.6.3) Windows 使用示例JMeterWindows
- Mysql索引以及使用索引注意事項MySql索引
- [zt] 聚集索引和非聚集索引(sql server索引結構及其使用)索引SQLServer
- c# 索引指示器C#索引
- 圖解MySQL索引(三)—如何正確使用索引?圖解MySql索引
- 使用Elasticsearch的動態索引和索引優化Elasticsearch索引優化
- 使用聚集索引和非聚集索引的區別索引
- 使用jQuery選擇器獲取索引值大於或者小於jQuery索引
- 使用自治事務在觸發器中執行DDL語句示例觸發器
- 使用Index提示 強制使用索引Index索引