DataRowExtensions.Field 方法

定义

提供对 DataRow 中的每个列值的强类型访问。

重载

Field<T>(DataRow, DataColumn)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, DataColumn) 方法还支持可以为 null 的类型。

Field<T>(DataRow, Int32)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, Int32) 方法还支持可以为 null 的类型。

Field<T>(DataRow, String)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, String) 方法还支持可以为 null 的类型。

Field<T>(DataRow, DataColumn, DataRowVersion)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, DataColumn, DataRowVersion) 方法还支持可以为 null 的类型。

Field<T>(DataRow, Int32, DataRowVersion)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, Int32, DataRowVersion) 方法还支持可以为 null 的类型。

Field<T>(DataRow, String, DataRowVersion)

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, String, DataRowVersion) 方法还支持可以为 null 的类型。

Field<T>(DataRow, DataColumn)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, DataColumn) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, System.Data.DataColumn column);
C#
public static T? Field<T> (this System.Data.DataRow row, System.Data.DataColumn column);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

column
DataColumn

输入 DataColumn 对象,该对象指定要返回其值的列。

返回

T

column 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

column 指定的列不会出现在包含 DataRowDataTable 中。

将“null”值赋给了不可为 null 的类型

注解

DataSet表示具有 类实例ValueDBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSetDataTable 不支持可为空的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型的值将为 null

如果指定的 DataColumnDBNull.Value 值为 ,并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Field<T>(DataRow, Int32)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, Int32) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, int columnIndex);
C#
public static T? Field<T> (this System.Data.DataRow row, int columnIndex);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

columnIndex
Int32

列索引。

返回

T

columnIndex 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

ordinal 指定的列不存在于包含 DataRowDataTable 中。

将“null”值赋给了不可为 null 的类型

注解

DataSet表示具有 类实例ValueDBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSet 不支持可为 null 的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型的值将为 null

如果指定的 DataColumn 值为 null ,并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Field<T>(DataRow, String)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, String) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, string columnName);
C#
public static T? Field<T> (this System.Data.DataRow row, string columnName);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

columnName
String

要返回其值的列名称。

返回

T

columnName 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

columnName 指定的列不会出现在包含 DataRowDataTable 中。

null 值分配给不可为 null 的类型。

注解

DataSet表示具有 类实例ValueDBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSetDataTable 不支持可为空的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型的值将为 null

如果指定的 DataColumn 值为 null 并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Field<T>(DataRow, DataColumn, DataRowVersion)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, DataColumn, DataRowVersion) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, System.Data.DataColumn column, System.Data.DataRowVersion version);
C#
public static T? Field<T> (this System.Data.DataRow row, System.Data.DataColumn column, System.Data.DataRowVersion version);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

column
DataColumn

输入 DataColumn 对象,该对象指定要返回其值的列。

version
DataRowVersion

DataRowVersion 枚举,指定要返回的列值版本,如 CurrentOriginal 版本。

返回

T

columnversion 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

column 指定的列不存在于包含 DataRowDataTable 中。

将“null”值赋给了不可为 null 的类型

注解

DataSet表示具有 类实例ValueDBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSet 不支持可为 null 的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型的值将为 null

如果指定的 DataColumn 值为 null,并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Field<T>(DataRow, Int32, DataRowVersion)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, Int32, DataRowVersion) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, int columnIndex, System.Data.DataRowVersion version);
C#
public static T? Field<T> (this System.Data.DataRow row, int columnIndex, System.Data.DataRowVersion version);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

columnIndex
Int32

要返回其值的列的从零开始的序号。

version
DataRowVersion

DataRowVersion 枚举,指定要返回的列值版本,如 CurrentOriginal 版本。

返回

T

ordinalversion 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

ordinal 指定的列不存在于包含 DataRowDataTable 中。

将“null”值赋给了不可为 null 的类型

注解

DataSet表示具有 Value 类实例的 DBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSet 不支持可以为 null 的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型将具有 null 值。

如果指定的 DataColumn 值为 null,并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Field<T>(DataRow, String, DataRowVersion)

Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs
Source:
DataRowExtensions.cs

为指定行中的每个列值提供强类型访问。 Field<T>(DataRow, String, DataRowVersion) 方法还支持可以为 null 的类型。

C#
public static T Field<T> (this System.Data.DataRow row, string columnName, System.Data.DataRowVersion version);
C#
public static T? Field<T> (this System.Data.DataRow row, string columnName, System.Data.DataRowVersion version);

类型参数

T

指定列的返回类型的泛型形参。

参数

row
DataRow

输入 DataRow,作为扩展方法的 this 实例。

columnName
String

要返回其值的列名称。

version
DataRowVersion

DataRowVersion 枚举,指定要返回的列值版本,如 CurrentOriginal 版本。

返回

T

columnNameversion 指定的 T 类型的 DataColumn 值。

例外

基础列的值类型无法转换为泛型参数 T 指定的类型。

columnName 指定的列不存在于包含 DataRowDataTable 中。

将“null”值赋给了不可为 null 的类型

注解

DataSet表示具有 Value 类实例的 DBNullnull 值。 Language-Integrated 查询 (LINQ) 表达式访问具有 null 值的列将在运行时生成 InvalidCastException 。 此外, DataSet 不支持可以为 null 的类型。 方法 Field 支持将列作为可以为 null 的类型进行访问。 如果 中DataSetDBNull.Value的基础值为 ,则返回的可为 null 类型将具有 null 值。

如果指定的 DataColumn 值为 null,并且 T 是引用类型或可以为 null 的类型,则返回类型将为 null。 方法 Field 不会返回 DBNull.Value

方法 Field 不执行类型转换。 如果需要类型转换,应首先使用 Field 方法获取列值。 然后,列值应转换为另一种类型。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1