gpt4 book ai didi

c# - 如果使用 "using"使用 var 类型很重要

转载 作者:行者123 更新时间:2023-11-30 13:32:23 24 4
gpt4 key购买 nike

以下是否等价?
在某些情况下使用 var 类型很重要吗?

目前正在使用:

static int ReturnIDfromDb(string sqlString, string outputParam) {
var connectionString = ConfigurationManager.ConnectionStrings["xxx"].ConnectionString;
using(var conn = new SqlConnection(connectionString))
using(var comm = new SqlCommand(sqlString, conn)) {
...
}
}

这不是更具体吗?

static int ReturnIDfromDb(string sqlString, string outputParam) {
var connectionString = ConfigurationManager.ConnectionStrings["xxx"].ConnectionString;
using(SqlConnection conn = new SqlConnection(connectionString))
using(SqlCommand comm = new SqlCommand(sqlString, conn)) {
...
}
}

最佳答案

对于编译器来说是一样的。严重地。 var 变为硬编码。

但是,在某些情况下您必须使用 var,因为您不知道类型。

IQueryable (LINQ) 允许您投影:

.....

.Select (x=> new { Name = x.Name; }).ToArray();

在这种情况下,您会得到一个匿名类型的数组,所以...

必须是

可变结果数组

因为此时您无法命名类型。

但是 var 是一个仅供编译器使用的东西。 Resharper 的代码约定说:使用 var,而不是类型。这些天我倾向于同意。

编译后是一样的

关于c# - 如果使用 "using"使用 var 类型很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187835/

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