(摘录自《C#函数实用手册》冶金工业出版社)
代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataSet testDS = new DataSet("Test");
DataTableCollection dTC;
DataTable testDTA = new DataTable("student");
DataTable testDTB = new DataTable("department");
DataTable testDTC = new DataTable("course");
DataColumn testDC;
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.Int32");
testDC.ColumnName = "ID";
testDTA.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "Name";
testDTA.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "department";
testDTA.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.Int32");
testDC.ColumnName = "DID";
testDTB.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "DName";
testDTB.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.Int32");
testDC.ColumnName = "CID";
testDTC.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "CName";
testDTC.Columns.Add(testDC);
dTC = testDS.Tables;
dTC.Add("student"); // 使用Add方法将指定的DataTable添加到集合
DataTable[] dtA = { testDTB, testDTC };
dTC.AddRange(dtA); // 使用addRange方法将指定的DataTable数组的元素复制到集合的末尾
Console.WriteLine("该集合包含的表: ");
foreach (DataTable dt in dTC)
Console.WriteLine(dt.TableName);
Console.WriteLine();
// 使用Contains方法判断集合中是否存在具有指定名称的DataTable对象
Console.WriteLine("该集合是否包含表course?" + dTC.Contains("course"));
// 使用CanRomove方法验证指定的DataTable对象是否可从集合中移除
Console.WriteLine("表course是否能被移除?" + dTC.CanRemove(testDTC));
// 使用IndexOf方法获取指定DataTable对象的集合中的索引
Console.WriteLine("表course在集合中的索引是:" + dTC.IndexOf("course"));
Console.WriteLine();
Console.WriteLine("移除表...");
// 调用Remove方法从集合中移除指明定的DataTable对象
dTC.Remove("course");
Console.WriteLine(" 移除后集合包含的表:");
foreach (DataTable dt in dTC)
Console.WriteLine(dt.TableName);
Console.WriteLine("/n移除第一个表...");
// 调用RemoveAt方法从集合中移除位于指定索引位置的DataTable对象
dTC.RemoveAt(0);
Console.WriteLine("移除后集合中包含的表:");
foreach (DataTable dt in dTC)
Console.WriteLine(dt.TableName);
Console.WriteLine("/n清除集合中所有的表...");
dTC.Clear(); // 调用Clear方法清除所有DataTable对象的集合
Console.WriteLine("清除后集合包含的表:");
foreach (DataTable dt in dTC)
Console.WriteLine(dt.TableName);
Console.ReadLine();
}
}
}
*************************
执行结果:
该集合包含的表:
student
department
course
该集合是否包含表course?True
表course是否能被移除?True
表course在集合中的索引是:2
移除表...
移除后集合包含的表:
student
department
移除第一个表...
移除后集合中包含的表:
department
清除集合中所有的表...
清除后集合包含的表: