gpt4 book ai didi

c# - 转换 SqlDataReaders

转载 作者:太空狗 更新时间:2023-10-30 00:47:32 26 4
gpt4 key购买 nike

reader.GetInt32(0) 替换 (int)reader[0] 有什么好处?我确定存在此类转换功能是有原因的,但除了让我自己避免转换在美学上更令人愉悦之外,我不确定这些原因是什么。

最佳答案

在代码中....

        void OneWay()
{
System.Data.SqlClient.SqlDataReader reader = null;
int i = reader.GetInt32(0);
}

void OtherWay()
{
System.Data.SqlClient.SqlDataReader reader = null;
int i = (int)reader[0];
}

在伊尔

.method private hidebysig instance void OneWay() cil managed
{
.maxstack 2
.locals init (
[0] class [System.Data]System.Data.SqlClient.SqlDataReader reader,
[1] int32 i)
L_0000: nop
L_0001: ldnull
L_0002: stloc.0
L_0003: ldloc.0
L_0004: ldc.i4.0
L_0005: callvirt instance int32 [System.Data]System.Data.Common.DbDataReader::GetInt32(int32)
L_000a: stloc.1
L_000b: ret
}


.method private hidebysig instance void OtherWay() cil managed
{
.maxstack 2
.locals init (
[0] class [System.Data]System.Data.SqlClient.SqlDataReader reader,
[1] int32 i)
L_0000: nop
L_0001: ldnull
L_0002: stloc.0
L_0003: ldloc.0
L_0004: ldc.i4.0
L_0005: callvirt instance object [System.Data]System.Data.Common.DbDataReader::get_Item(int32)
L_000a: unbox.any int32
L_000f: stloc.1
L_0010: ret
}

所以,IL 是不同的,但我怀疑它们之间有任何明显的区别。也许在一百万次迭代之后你会看到差异,但不太可能。

关于c# - 转换 SqlDataReaders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com