c# asp.net 多数组索引的解决方法
本人今天做了一个功能 需要在一个类里用多个数组,
数组需要索引器来调用 一个数组
我查了msdn 一个类里面只能有一个this 索引器
那这么多数组如何构造索引呢
我在坛子里找到了解决之道
view plaincopy to clipboardprint?
using System;
namespace TestUse
{
/// <summary>
/// Summary description for Muliti.
/// </summary>
public class Muliti
{
public Muliti()
{
//
// TODO: Add constructor logic here
//
}
private string[] test1;
private object[] test2;
private int[] test3;
public object this[string arrname,int index]{
get{
switch(arrname){
case "test1":return test1[index];
case "test2":return test2[index];
case "test3":return test3[index];
default:return null;
}
}
set{
switch(arrname)
{
case "test1":test1[index]=value.ToString();break;
case "test2":test2[index]=value;break;
case "test3":test3[index]=(int)value;break;
default:break;
}
}
}
public void setUpArray(){
test1 = new string[3];
test2 = new object[2];
test3 = new int[4];
}
}
}
using System;
namespace TestUse
{
/// <summary>
/// Summary description for Muliti.
/// </summary>
public class Muliti
{
public Muliti()
{
//
// TODO: Add constructor logic here
//
}
private string[] test1;
private object[] test2;
private int[] test3;
public object this[string arrname,int index]{
get{
switch(arrname){
case "test1":return test1[index];
case "test2":return test2[index];
case "test3":return test3[index];
default:return null;
}
}
set{
switch(arrname)
{
case "test1":test1[index]=value.ToString();break;
case "test2":test2[index]=value;break;
case "test3":test3[index]=(int)value;break;
default:break;
}
}
}
public void setUpArray(){
test1 = new string[3];
test2 = new object[2];
test3 = new int[4];
}
}
}
view plaincopy to clipboardprint?
private void button1_Click(object sender, System.EventArgs e)
{
Muliti testm = new Muliti();
testm.setUpArray();
testm["test1",0]="test1-0";
testm["test2",0]= "test2-0";
testm["test3",0]= 3;
MessageBox.Show((string)testm["test1",0]);
MessageBox.Show((string)testm["test2",0]);
MessageBox.Show("" + testm["test3",0]);
}
private void button1_Click(object sender, System.EventArgs e)
{
Muliti testm = new Muliti();
testm.setUpArray();
testm["test1",0]="test1-0";
testm["test2",0]= "test2-0";
testm["test3",0]= 3;
MessageBox.Show((string)testm["test1",0]);
MessageBox.Show((string)testm["test2",0]);
MessageBox.Show("" + testm["test3",0]);
}
这样 加个判断就行了 有时候头脑还真的迷糊 想了半天还是没想起来。
c# asp.net 多数组索引的解决方法的更多相关文章
- 经历:asp.net oracle 部署问题以及解决方法
原文:[原创]经历:asp.net oracle 部署问题以及解决方法 精简的美丽...... 一.环境 开发环境 win7 64bit Vs2010 ...
- Asp.net导出Excel乱码的解决方法
通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码. 解决方法是添加编码格式的前缀字节码:Response.BinaryWrite(System.Text.Enc ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法
由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通过User-Agent来识别浏览器的程序,都相应的出现了无法识别IE11的情况.(普通用户端则可以通过这个方法来进行设置.) ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】
http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...
- [原创]经历:asp.net oracle 部署问题以及解决方法
精简的美丽...... 一.环境 开发环境 win7 64bit Vs2010 Oracle 11g r2 64bit <inst ...
- Asp.net MVC Razor常见问题及解决方法
没有经验的童鞋就是这样磕磕碰碰出来的经验. 1,Datatype的错误提示消息无法自定义 这也许是Asp.net MVC的一个Bug.ViewModel中定义了DataType为Date字段: [Re ...
- Asp.net MVC Razor常见问题及解决方法(转载>云中客)
没有经验的童鞋就是这样磕磕碰碰出来的经验. 1,Datatype的错误提示消息无法自定义 这也许是Asp.net MVC的一个Bug.ViewModel中定义了DataType为Date字段: 1 2 ...
- ueditor 1.4.3 gbk asp 上传中文乱码 终极解决方法 ie6 ie8 也适用
[摘要:百度编纂器1.43 gbk asp 题目 1.firefox3.0下 单图上传 面没有了 面多图上传 中央的蓝色按钮(即 面击挑选图片)没有表现(附件上传出那个题目) 没有晓得我的水狐吃翔了 ...
- ASP+中文显示之两种解决方法
作者刚開始写ASP+程序时候碰到的第一个比較大的问题就是中文显示问题,执行后发现ASP+从数据库中读 取出来的中文所有变成了?????,有点相似jsp中的这个频率出现最高的中文显示问题了,查了资料发 ...
随机推荐
- CentOS7 Redis安装
Redis介绍 1.安装Redis 官方下载地址:http://download.redis.io 使用Linux下载:wget http://download.redis.io/redis-stab ...
- 【转】TCP/IP报文格式
1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被封装在以太网帧(见本章1.3节)中传送.而所有 ...
- Python单元测试框架
目录 概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的 ...
- Spring Boot Starter 介绍
http://www.baeldung.com/spring-boot-starters 作者:baeldung 译者:http://oopsguy.com 1.概述 依赖管理是任何复杂项目的关键部分 ...
- 有趣的flash例子
仓鼠 <object type="application/x-shockwave-flash" data="http://cdn.abowman.com/widge ...
- 使用beanstalkd实现定制化持续集成过程中pipeline
持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...
- jquery系列教程7-自定义jquery插件全解:对象函数、全局函数、选择器
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- uvalive 2965 Jurassic Remains
https://vjudge.net/problem/UVALive-2965 题意: 给出若干个由大写字母组成的字符串,要求选出尽量多的字符串,使得每个大写字母出现的次数是偶数. 思路: 如果说我们 ...
- 【JAVA零基础入门系列】Day9 Java中的那个大数值
什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...
- Oracle12C如何启动PDB数据库
在启动PDB类型的数据库之前需要用管理员账号[即:sys 或者system管理员账户登录进去CDB数据库,以下命令是在PLSQL登录进去CDB数据库的dos命令行执行的] alter pluggab ...