【.Net实用方法总结】 整理并总结System.Data中DataColumnCollection类及其方法介绍

作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
个人主页:会敲键盘的肘子
系列专栏:.Net实用方法总结
专栏简介:博主针对.Net开发和C站问答过程中遇到的问题进行总结,形成本专栏,希望可以帮助到您解决问题。
座右铭:总有一天你所坚持的会反过来拥抱你。


【.Net实用方法总结】 整理并总结System.Data中DataColumnCollection类及其方法介绍_第1张图片

写在前面:

本文主要介绍System.Data命名空间的 DataColumnCollection 类,介绍其常用的方法和实践。


本文关键字:System.Data、DataColumnCollection类、DataTable类、方法实践、C#

文章目录

      • 1️⃣ System.Data命名空间
      • 2️⃣ DataColumnCollection类
        • ♈ 定义
        • ♊ 属性
          • Count
          • Item[Int32]
          • Item[String]
          • List
        • ♉ 常用方法
          • Add(DataColumn)
          • AddRange(DataColumn[])
          • Clear()
          • Contains(String)
          • IndexOf(DataColumn)
          • IndexOf(String)
          • Remove(DataColumn)
          • Remove(String)
          • RemoveAt(Int32)
        • ♌ 注解
        • ♋ 更多方法

1️⃣ System.Data命名空间

提供对表示 ADO.NET 体系结构的类的访问权限。 通过 ADO.NET,可以生成可有效管理多个数据源的数据的组件。

2️⃣ DataColumnCollection类

♈ 定义

表示 DataColumn 的 DataTable 对象的集合

public sealed class DataColumnCollection : System.Data.InternalDataCollectionBase

示例

以下示例循环访问对象的集合 DataColumn ,并打印集合中每列的各种属性。

private void PrintDataTableColumnInfo(DataTable table)
{
    // Use a DataTable object's DataColumnCollection.
    DataColumnCollection columns = table.Columns;

    // Print the ColumnName and DataType for each column.
    foreach(DataColumn column in columns)
    {
        Console.WriteLine(column.ColumnName);
        Console.WriteLine(column.DataType);
    }
}

♊ 属性

Count

获取集合中的元素总数

[System.ComponentModel.Browsable(false)]
public virtual int Count { get; }
Item[Int32]

从集合中获取位于指定索引位置的 DataColumn

public System.Data.DataColumn this[int index] { get; }

示例

以下示例使用 [Item] 属性打印 ColumnName 索引指定的对象的值 DataColumn 。 此示例使用 DataTable System.Windows包含的项。Forms.DataGrid 控件。

private void PrintColumnNamesByIndex(DataTable table)
{
    // Get the DataColumnCollection from a DataTable in a DataSet.
    DataColumnCollection columns = table.Columns;

    // Print each column's name using the Index.
    for (int i = 0 ;i 
Item[String]

从具有指定名称的集合中获取 DataColumn。

public System.Data.DataColumn? this[string name] { get; }

示例

以下示例使用 [Item] 属性打印 DataType 索引指定的对象的值 DataColumn 。

private void PrintDataType(DataTable table)
{
    // Get the DataColumnCollection from a DataTable in a DataSet.
    DataColumnCollection columns = table.Columns;

    // Print the column's data type.
    Console.WriteLine(columns["id"].DataType);
}

注意

[Item] 在搜索列名时有条件区分大小写。 例如,如果一个 DataColumn 名为“mydatacolumn”,另一个名为“Mydatacolumn”,则用于搜索其中一列的字符串被视为区分大小写。 但是,如果“mydatacolumn”存在并且“Mydatacolumn”不存在,则搜索字符串被视为不区分大小写。

List

获取作为列表的集合的项。

protected virtual System.Collections.ArrayList List { get; }

♉ 常用方法

Add(DataColumn)

创建指定的 DataColumn 对象并将其添加到 DataColumnCollection。

public void Add (System.Data.DataColumn column);
AddRange(DataColumn[])

将指定的 DataColumn 数组的元素复制到集合末尾。

public void AddRange (System.Data.DataColumn[] columns);
Clear()

清除集合中的所有列。

public void Clear ();

示例

private void ClearColumnsCollection(DataTable table)
{
    DataColumnCollection columns;
    // Get the DataColumnCollection from a
    // DataTable in a DataSet.
    columns = table.Columns;
    columns.Clear();
}
Contains(String)

检查集合是否包含具有指定名称的列。

public bool Contains (string name);

示例

下面的示例使用 Contains 该方法和 CanRemove 方法来确定是否可以删除列。 如果是,则删除该列。

private void RemoveColumn(string columnName, DataTable table)
{
    DataColumnCollection columns = table.Columns;

    if (columns.Contains(columnName))
        if (columns.CanRemove(columns[columnName]))
            columns.Remove(columnName);
}
IndexOf(DataColumn)

获取按名称指定的列的索引。

public int IndexOf (System.Data.DataColumn? column);

示例

下面的示例使用该方法 Contains 来确定指定列是否存在于某个 DataColumnCollection。 如果是这样,该方法 IndexOf 将返回列的索引。

private void GetIndex(DataTable table)
{
    DataColumnCollection columns = table.Columns;
    if(columns.Contains("City"))
    {
        Console.WriteLine(columns.IndexOf("City"));
    }
}

该方法 IndexOf 不区分大小写。

IndexOf(String)

获取具有特定名称的列的索引(名称不区分大小写)。

public int IndexOf (string? columnName);
Remove(DataColumn)

从集合中移除指定的 DataColumn 对象。

public void Remove (System.Data.DataColumn column);

示例

以下示例使用该方法 Contains 来确定命名列是否存在。 如果是,则 [Item] 属性返回该列。 然后,该方法 CanRemove 会检查是否可以删除该列;如果是,该方法 Remove 将删除该列。

private void TestAndRemove(DataColumn colToRemove)
{
    DataColumnCollection columns;
    // Get the DataColumnCollection from a DataTable in a DataSet.
    columns = DataSet1.Tables["Orders"].Columns;

    if(columns.Contains(colToRemove.ColumnName))
    {
        columns.Remove(colToRemove);
    }
}
Remove(String)

从集合中移除具有指定名称的 DataColumn 对象。

public void Remove (string name);

示例

以下示例使用该方法 Contains 来确定命名列是否存在。 如果是,则 [Item] 属性返回该列。 然后,该方法 CanRemove 会检查是否可以删除该列;如果是,该方法 Remove 将删除该列。

private void RemoveColumnByName(string columnName)
{
    // Get the DataColumnCollection from a DataTable in a DataSet.
    DataColumnCollection columns =
        ds.Tables["Suppliers"].Columns;

    if(columns.Contains(columnName))
        if(columns.CanRemove(columns[columnName]))
            columns.Remove(columnName);
}
RemoveAt(Int32)

从集合中移除指定索引位置的列。

public void RemoveAt (int index);

♌ 注解

定义 DataColumnCollection 架构 DataTable,并确定每个 DataColumn 数据可以包含哪种类型。 可以通过对象的属性DataTable访问DataColumnCollectionColumns该对象。

使用DataColumnCollectionAdd和Remove方法插入和删除DataColumn对象。 使用 Count 属性确定集合中的对象数 DataColumn 。 使用该方法 Contains 验证集合中是否存在指定的索引或列名。

♋ 更多方法

更多方法请查阅官方文档DataColumnCollection类。


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持

你可能感兴趣的:(.Net实用方法总结,.net,c#,datatable)