给出以下代码:
Function GetSomething() As Integer
Using dbConn As New SqlConnection("Connection_String")
dbConn.Open()
Using dbCmd As New SqlCommand(" SELECT SOMETHING ....", dbConn)
Return Integer.Parse(dbCmd.ExecuteScalar())
End Using
dbConn.Close()
End Using
End Function
Run Code Online (Sandbox Code Playgroud)
Return是否会阻止执行功能块的其余部分,即关闭数据库连接以及当Using块完成时调用的隐含Dispose()?
有没有什么理由可以解释为什么将版本号附加到图像的 src 属性以防止缓存是一个坏主意?例如:
<img alt='Test' src='images/cat.png?v=1.456'/>
Run Code Online (Sandbox Code Playgroud)
浏览器重复访问时,图像会被缓存,直到版本号发生变化。仅当这些特定图形发生更改时,版本号才会更新。
这是有效的标记和明智的技术吗?
Visual Studio 2019 建议将我编写的 switch 语句转换为 switch表达式(两者都包含在下面用于上下文)。
对于这样的简单示例,将其编写为表达式是否有任何技术或性能优势?例如,这两个版本的编译方式是否不同?
陈述
switch(reason)
{
case Reasons.Case1: return "string1";
case Reasons.Case2: return "string2";
default: throw new ArgumentException("Invalid argument");
}
Run Code Online (Sandbox Code Playgroud)
表达
return reason switch {
Reasons.Case1 => "string1",
Reasons.Case2 => "string2",
_ => throw new ArgumentException("Invalid argument")
};
Run Code Online (Sandbox Code Playgroud)