c#语言中的数组类型,如何在C#中创建自定义类型数组?

我们如何使用

Dictionary存储您需要的任何类型?

所以,虽然你不会完全拥有myType.a,但你可以使用myType.Values [“a”],它足够接近,使用标准的C#构造,并为你提供很多灵活性/可维护性

public class MyType

{

public MyType()

{

this.Values = new Dictionary();

}

public Dictionary Values

{

get;

set;

}

}

样本用法:

using System;

using System.Collections.Generic;

public static class Program

{

[STAThread]

private static void Main()

{

var myTypes = new MyType[3];

myTypes[0] = new MyType();

myTypes[1] = new MyType();

myTypes[2] = new MyType();

for (var current = 0; current < myTypes.Length; ++current)

{

// here you customize what goes where

myTypes[current].Values.Add("a", current);

myTypes[current].Values.Add("b", "myBvalue");

myTypes[current].Values.Add("c", (ushort)current);

}

foreach (var current in myTypes)

{

Console.WriteLine(

string.Format("A={0}, B={1}, C={2}",

current.Values["a"],

current.Values["b"],

current.Values["c"]));

}

}

另外,如果需要,可以轻松地向类中添加indexer属性,这样就可以使用myType [“a”]的语法访问元素.请注意,添加或检索值时应添加错误检查.

public object this[object index]

{

get

{

return this.Values[index];

}

set

{

this.Values[index] = value;

}

}

这是使用索引器的示例.将条目增加“1”,以便我们看到ouptut的差异:

for (var current = 0; current < myTypes.Length; ++current)

{

myTypes[current]["a"] = current + 1;

myTypes[current]["b"] = "myBvalue2";

myTypes[current]["c"] = (ushort)(current + 1);

}

foreach (var current in myTypes)

{

Console.WriteLine(string.Format("A={0}, B={1}, C={2}",

current["a"],

current["b"],

current["c"]));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值