|
VSTO中数组一旦确认下标,就无法再修改.
如果需要动态的处理下标,请使用集合(一维)或者哈希表(二维)
using System.Collections; //使用前請先指定System.Collections
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ArrayList arr = new ArrayList(1); //声明时指定下标
arr.Add("數據1"); //添加数据,集合内数据为object類型
arr.Add(2);
arr.Add(3.14159);
MessageBox.Show("arr集合可包含元素數為:" + arr.Capacity.ToString() + "\n"+
"arr集合實際元素數為:" + arr.Count.ToString()); //结果为4和3,當添加數據的數目超出指定下標時,集合會自動擴展
}
}
}
以我的理解,object包含VBA中Variant的作用,但擴展更廣.
比如:
private void button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
object obj = new object();
obj = tb;
this.Controls.Add((Control)obj); //會在本窗體中添加一個文本框
}
|
|