当前位置: 首页 > news >正文

长春880元网站建设湖南城乡建设部网站首页

长春880元网站建设,湖南城乡建设部网站首页,网站源文件,娄底网站建设报价1、索引器定义 什么是索引器 索引器#xff08;indexer#xff09;是这样一种成员#xff1a;它使对象能够用与数组相同的方式#xff08;即使用下标#xff09;进行索引 索引器的声明参见 C# 语言定义文档注意#xff1a;没有静态索引器 索引器是一组 get 和 set 访问…1、索引器定义 什么是索引器 索引器indexer是这样一种成员它使对象能够用与数组相同的方式即使用下标进行索引 索引器的声明参见 C# 语言定义文档注意没有静态索引器 索引器是一组 get 和 set 访问器与属性类似 和属性一样索引器不用分配内存来存储。索引器和属性都主要来访问其他数据成员它们与这些成员关联并为它们提供获取和设置访问。属性通常表示单个数据成员。索引器通常表示多个数据成员。 注意 索引器总是实例成员因此不能被声明为 static。 索引器的特点 索引器的索引值Index类型不受限制索引器允许重载索引器不是一个变量 2、索引器代码例子 1代码例子采用字典方式 class Program{static void Main(string[] args){Student stu new Student();stu[Math] 90;var mathScore stu[Math];Console.WriteLine(mathScore);}}class Student{private int age;public int Age{get { return age; }set { age value; }}private Dictionarystring, int scoreDictionary new Dictionarystring, int();public int? this[string subject]{get{if(this.scoreDictionary.ContainsKey(subject)){return this.scoreDictionary[subject];}else{return null;}}set{if (value.HasValue false){throw new Exception(Score cannot be null.);}if(this.scoreDictionary.ContainsKey(subject)){this.scoreDictionary[subject] value.Value;//value 为可空类型}else{this.scoreDictionary.Add(subject, value.Value);}}}}2代码例子采用索引值方式 以下所有例子都来源于# 索引器的多个例子及重载 class Program{static void Main(string[] args){//索引器的使用IndexerClass Indexer new IndexerClass();//“”号右边对索引器赋值其实就是调用其set方法Indexer[0] 张三;Indexer[1] 李四;//输出索引器的值其实就是调用其get方法Console.WriteLine(Indexer[0]);Console.WriteLine(Indexer[1]);Console.ReadKey();}}public class IndexerClass{private string[] name new string[2];public string this[int index]{get{if (index 2){return name[index];}return null;}set{if (index 2){name[index] value;}}}}3代码例子采用字符串为下标方式 class Program{static void Main(string[] args){IndexerClass Indexer new IndexerClass();Indexer[A0001] 张三;Indexer[A0002] 李四;Console.WriteLine(Indexer[A0001]);Console.WriteLine(Indexer[A0002]);Console.ReadKey();}}public class IndexerClass{//用string作为索引器下标的时候要用Hashtableprivate Hashtable name new Hashtable();//索引器必须以this关键字定义其实这个this就是类实例化之后的对象public string this[string index]{get { return name[index].ToString(); }set { name.Add(index, value); }}}3、索引器重载 class Program{static void Main(string[] args){IndexerClass Indexer new IndexerClass();//第一种索引器的使用Indexer[1] 张三;//set访问器的使用Indexer[2] 李四;Console.WriteLine(编号为1的名字 Indexer[1]);//get访问器的使用Console.WriteLine(编号为2的名字 Indexer[2]);Console.WriteLine();//第二种索引器的使用Console.WriteLine(张三的编号是 Indexer[张三]);//get访问器的使用Console.WriteLine(李四的编号是 Indexer[李四]);Indexer[王五] 3;//set访问器的使用Console.WriteLine(王五的编号是 Indexer[王五]);Console.ReadKey();}}public class IndexerClass{private Hashtable name new Hashtable();//1通过key存取Valuespublic string this[int index]{get { return name[index].ToString(); }set { name.Add(index, value); }}//2通过Values存取keypublic int this[string aName]{get{//Hashtable中实际存放的是DictionaryEntry(字典)类型如果要遍历一个Hashtable就需要使用到DictionaryEntryforeach (DictionaryEntry d in name){if (d.Value.ToString() aName){return Convert.ToInt32(d.Key);}}return -1;}set{name.Add(value, aName);}}}4、多参索引器 //入职信息类public class EntrantInfo{//姓名、编号、部门private string name;private int number;private string department;public EntrantInfo(){}public EntrantInfo(string name, int num, string department){this.name name;this.number num;this.department department;}public string Name{get { return name; }set { name value; }}public int Num{get { return number; }set { number value; }}public string Department{get { return department; }set { department value; }}}//声明一个类EntrantInfo的索引器public class IndexerForEntrantInfo{private ArrayList ArrLst;//用于存放EntrantInfo类public IndexerForEntrantInfo(){ArrLst new ArrayList();}//声明一个索引器以名字和编号查找存取部门信息public string this[string name, int num]{get{foreach (EntrantInfo en in ArrLst){if (en.Name name en.Num num){return en.Department;}}return null;}set{//new关键字C#规定实例化一个类或者调用类的构造函数时必须使用new关键ArrLst.Add(new EntrantInfo(name, num, value));}}//声明一个索引器以编号查找名字和部门public ArrayList this[int num]{get{ArrayList temp new ArrayList();foreach (EntrantInfo en in ArrLst){if (en.Num num){temp.Add(en);}}return temp;}}//还可以声明多个版本的索引器...}class Program{static void Main(string[] args){IndexerForEntrantInfo Info new IndexerForEntrantInfo();//this[string name, int num]的使用Info[张三, 101] 人事部;Info[李四, 102] 行政部;Console.WriteLine(Info[张三, 101]);Console.WriteLine(Info[李四, 102]);Console.WriteLine();//this[int num]的使用foreach (EntrantInfo en in Info[102]){Console.WriteLine(en.Name);Console.WriteLine(en.Department);}Console.ReadKey();}}
http://www.hkea.cn/news/14399920/

相关文章:

  • 温州网站制作计划遵义信息港
  • 百度快照怎么优化排名天津网站排名优化
  • 网站建设西班牙语正规网络推广平台
  • 公司网站建设费入哪个科目全国高校校园网站建设与发展高级研修班
  • 唐山建设网站公司注册无地址注册公司
  • 怎样做1个网站wordpress 编辑首页
  • 公司网站修改 优帮云家装设计学校
  • 微信视频网站怎么做的好处盘龙区网络推广
  • 专门做化妆的招聘网站免费下载ppt模板的网站有哪些
  • 点胶机 东莞网站建设c2c模式的诞生与发展
  • 怎么查网站服务器深圳做微信网站多少钱
  • 呼市网站建设手机排行榜中关村
  • 无锡朝阳网站推广梦幻西游网页版平民攻略
  • 有云服务器和域名怎么做网站asp网站知道用户名是admin
  • 给别人做网站用什么建站公司现状
  • 衡水做网站的公司免费发广告的软件
  • 中小企业微信网站建设慧聪网郭凡生
  • 商务网站建设的调研做电商网站哪里好
  • 济南网站建设套餐第三方小程序商店
  • 网站建设秋实wordpress图片 转移oss
  • 广州外贸网站建设推广企业宣传视频制作公司
  • 58同城做网站找谁wordpress 文字 居中
  • 四川专门做招聘酒的网站衡水做外贸网站
  • 网站百度不收录了西安企业网站设计哪家专业
  • 企业网站关键词优化排名应该怎么做有没有免费的推广网站
  • 做糕点的网站东源县住房和城乡建设部网站
  • 免费的行情软件app网站宣传片拍摄计划方案
  • 申请中网可信网站中国有多少网站有多少域名
  • 商城网站源码免费宁波网站开发制作
  • 如何把网站做成软件安庆网站建设推荐秒搜科技