C#索引器的应用:自已写一个表格
C#中索引器,在一个类中有很多的同一类型成员的时候,比较适用索引器。
环境:我们假设有一个动物园,里边有很多动物。
用法:
1.先定义一个类,这是成员的类型。在这里就是要定义一个Animal类;
public class Animal
{
public string Name { get; set; }
}
2.再定义一个包含索引器的类,在这里是Zoo动物园类。
public class Zoo
{
private List<Animal> animals = new List<Animal>();
public Animal this[int index]
{
get{return animals[index];}
set{animals.Add(value);}
}
}
3.那么我们在主程序里就可以这么用:
class Program
{
static void Main(string[] args)
{
Animal a = new Animal();
a.Name = "老虎";
Animal b = new Animal();
b.Name = "大象"; Zoo z=new Zoo();
z[0] = a;
z[1] = b; Console.WriteLine(z[0].Name); Animal c;
c = z[1];
Console.WriteLine(c.Name);
}
}
好了,接下来,我们来自定义一个我们自己的表格:
1.先定义Cell单元格类
class Cell
{
public string Text { get; set; }
}
2.定义Row行 类(注意在这里我们必须就得用List<Cell>了。因为它包含很多Cell成员了,下边的Table也是,包含很多row)
class Row
{
private List<Cell> cells = new List<Cell>();
public Cell this[int index]
{
get { return cells[index]; }
set { cells.Add(value); }
}
}
3.再定义Table 表格类
class Table
{
private List<Row> rows = new List<Row>();
public Row this[int index]
{
get { return rows[index]; }
set { rows.Add(value); }
}
}
4.最后我们在主程序里可以用了:
class Program
{
static void Main(string[] args)
{
Cell c0= new Cell();
c0.Text = "姓名";
Cell c1 = new Cell();
c1.Text = "性别"; Cell c2=new Cell();
c2.Text="张三";
Cell c3=new Cell();
c3.Text="男"; Row row = new Row();
row[0] = c0;
row[1] = c1;
Row row2 = new Row();
row2[0] = c2;
row2[1] = c3; Table table = new Table();
table[0] = row;
table[1] = row2;
//取得表格第0行,第1列的单元格内容
//Console.WriteLine(table[0][1].Text);
//取得表格第1行,第0列的单元格内容
//Console.WriteLine(table[1][0].Text); for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
Console.Write(table[i][j].Text+" ");
}
Console.WriteLine();
}
输出结果:
C#索引器的应用:自已写一个表格的更多相关文章
- JavaScript写一个表格排序类
依稀记得那是上个星期六的下午,我参加了网易暑期实习生招聘笔试.考得相当糟糕,编程题3个题通过了2个,简答题没做对,选择题貌似是20个题猜了6-7个,99%是挂了,唉唉唉!生活不只眼前的苟且,学习的脚步 ...
- javascript入门 之 用bootstrap-table写一个表格
方法1(对普通的 table 设置 data-toggle="table" 即可): <!DOCTYPE html> <html> <head> ...
- c#索引器的简单用法
abstract class Bird { protected string name; public abstract string Name { get; set; } public abstra ...
- C#中的索引器(Indexers)
前两天刚刚学习完了属性,这两天又搂完了索引器,发现两者非常的相似,但是相似之外还有一些不同之处.今天就来总结一下索引器--Indexers 索引器的作用及格式 索引器的作用就是能够使类或者结构体的实例 ...
- Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互
框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java model文件夹下的 Global ...
- C#中索引器Indexer的学习使用
索引器 顾名思义,是用来索引的,那么C#中索引器是用来索引什么的呢 首先我们知道,C#中的数组是本身就可以索引的,那么C#中的类和结构呢,类和结构的实例是无法索引的,如果我们想让C#中类或者结构的实例 ...
- 接口、索引器、Foreach的本质(学习笔记)
接口 什么是接口? 接口代表一种能力,和抽象类类似但比抽象类的抽象程度更高! 接口的定义: public interface IEat//定义一个接口 { void Eat(string food); ...
- (转)如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器
原文地址:http://www.dranger.com/ffmpeg/ FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码. ...
- Arava: 用 swing 写一个取色器
备哥以前发我了一个小工具,TakeColor 取色器.来复刻一个吧. 分析一下:顶部是菜单,左侧框显示当前鼠标所在的颜色(下面显示当前坐标和颜色值,默认RGB),中间框显示鼠标周围区域,右侧显示取色的 ...
随机推荐
- 百度地图SDK for Android v2.1.2全新发布
2013年6月20日 Android SDK:V2.1.2产品上线 新增: 自定义指南针位置(类:MapController,方法:setCompassMargin) 自定义当前位置图标(类:MyLo ...
- 进阶-案例九: WD中实现export 到Excel,Doc,Txt.
1.导出excel 文件代码 导出事件代码: METHOD onactionimport . *导出excel: DATA: lo_node TYPE REF TO if_wd_context_nod ...
- 【linux】常用网站
Kernel: http://www.kernel.org/ LSB (Linux Standard Base): http://www.linuxbase.org/ ELC(Embedded Lin ...
- Ubuntu 环境安装整理
Ubuntu11.04下Java开发环境搭建和配置 转自:http://guoyunsky.iteye.com/blog/1175861 类似的搭建,网上一搜一大把,但每次去搜索比较麻烦.我这里就整理 ...
- 基础知识(3)- Java的基本程序设计结构
3.1 一个简单的Java应用程序 3.2 注释 3.3 数据类型 3.3.1 整型 3.3.2 浮点类型 3.3.3 char类型 3.3.4 boolean类型 3.4 变量 3.4.1 ...
- win32多线程程序设计笔记(第二章)
第二章线程的第一次接触,主要讲了如何创建线程以及需要注意的几点. 一.创建线程 与调用函数的过程类似;线程只不过用CreateThread的API将函数封装起来,并产生一个与主程序同时执行的程序来调用 ...
- eclipse weblogic debug 简易配置版
1. eclipse->help->marketplace->search->weblogic 1.1安装对应eclipse版本的weblogic plugin 查看eclip ...
- phpStorm 新建文件SVN不提交的解决的方法
phpStorm中新建文件夹,可是打开文件夹.却没有提交到SVN.导致每次都必须手动增加.假设新增的文件夹或者文件较多文件夹较深,easy遗漏.(default7#zbphp.com) 解决的方法: ...
- ibatis新手入门
ibatis 是什么 iBATIS是以SQL为中心的持久化层框架. 能支持懒载入.关联查询.继承等特性. iBATIS不同于一般的OR映射框架. OR映射框架,将数据库表.字段等映射到类.属性,那是一 ...
- JavaScript权威指南科20章 client记忆
20 client记忆 client几种形式存储的: web记忆 cookie IE userData 离线应用 web数据库 文件系统api 20.1 localStorage 和 sessionS ...