ArrayList arr1 = new ArrayList();
object item = new object();
item = "hello";
arr1.Add(item);
item = 1;
arr1.Add(item);
int[] arr2 = new int[] { 1, 2, 3 };
arr1.Insert(1, arr2);
请问如何输出arr1的值(hello,1,2,3,1)?
解决方案 »
- paint C# 自定义线帽
- Page_Load执行两次
- JavaScript如何把XML傳遞給后端 C# 函數 Ajax用的是:ajaxpro2.dll控件
- 请问各位那位能找到 Codesmith 类似 Duwamish7 架构的模板? 拿出来共享啊~~~
- 请教一个水晶报表问题!!
- to whmjw(找工作中) ActiveReports.For.NET 中不能做Graph图呀?
- 如何把登陆界面中文本框的值存入变量在主界面中调用?
- C#串口方面的问题。主要是数据截取和显示
- Remoting 的一个问题求救!!急
- 有谁成功下载ahui_net (阿灰) 提供的Vs.Net2003了?
- C#如何传递数组类型的参数给VC6调用???
- 散分喽,咯咯。
{
InitializeComponent(); ArrayList arr1 = new ArrayList();
object item = new object();
item = "hello";
arr1.Add(item);
item = 1;
arr1.Add(item);
int[] arr2 = new int[] { 1, 2, 3 };
arr1.Insert(1, arr2); List<string> list = new List<string>(); Process(list, arr1.ToArray());
string s = string.Join(",", list.ToArray()); } private void Process(List<string> list, object obj)
{
if (obj is Array)
{
foreach (var item in (Array)obj)
{
Process(list, item);
}
}
else
{
list.Add(obj.ToString());
}
}
现在加到 ArrayList 裹的东西,包括 object (string) 和 int[]
所以这应该已经是比较简单的方法了~如果要"呼叫"更简单 那可能另外写 extension method
那只是呼叫端简单而已,基本原理应该都差不多吧~
static void Main(string[] args)
{
ArrayList arr1 = new ArrayList();
object item = new object();
item = "hello";
arr1.Add(item);
item = 1;
arr1.Add(item);
int[] arr2 = new int[] { 1, 2, 3 };
arr1.Insert(1, arr2); Print(arr1);
Console.Read();
} public static void Print(IEnumerable myList)
{
foreach (Object obj in myList)
{
if (obj is int[])
{
foreach (int item in (int[])obj)
{
Console.Write(" {0}", item);
}
}
else
{
Console.Write(" {0}", obj);
}
}
}