VB.NET方法String.Join(separator, stringArray)类似于PHP的内爆,但是数组中的任何null元素都替换为空字符串,因此c:
Dim myArray() as String = { "a", null, "c" }
Console.WriteLine(String.Join(", ", myArray));
// Prints "a, , c"
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以将一组字符串与一个忽略空字符串的分隔符连接起来吗?
我不一定需要使用数组或String.Join或其他任何东西.我只需要以下转换:
("a", "b", "c") --> "a, b, c"
("a", null, "c") --> "a, c"
Run Code Online (Sandbox Code Playgroud) 关于资源密集型操作的最佳实践的共识,例如打开数据库连接,似乎是使用Using块,因为Using块"保证了资源的处理......即使在未处理的异常情况下也是如此"..
以下是我发现的大多数示例:
Sub ExecuteCommand(ByVal sql As String, ByVal connectionString As String)
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(sql, connection)
command.Connection.Open()
command.ExecuteNonQuery()
End Using
End Sub
Run Code Online (Sandbox Code Playgroud)
但是Using允许嵌套块,我偶尔(但很少)看到上面写的:
Sub ExecuteCommand(ByVal sql As String, ByVal connectionString As String)
Using connection As New SqlConnection(connectionString)
Using command As New SqlCommand(sql, connection)
command.Connection.Open()
command.ExecuteNonQuery()
End Using
End Using
End Sub
Run Code Online (Sandbox Code Playgroud)
我的问题:多个嵌套Using块有什么好处吗?或者单个Using块是否已经保证它所包含的所有资源都将被处理掉?
(注意:我的代码是在VB.NET中,但同样的问题适用于C#.)
我可以让Application Insights显示每小时运行的使用情况日志,但是有没有一种方法可以按小时显示平均使用情况,以了解一天中必须使用网站的什么时间?
为什么我的离线应用没有被任何浏览器缓存?
我在这里创建了一个简化的测试:http://design.aqueo.us/test/appcache/
它只有两个文件:一个html文件加上清单.(html文件包含一些javascript来显示缓存状态.)检查控制台日志,你会看到它总是显示"缓存状态:未缓存".此外,chrome:// appcache-internals /(在谷歌浏览器中)不会列出该网站.据我所知,浏览器甚至从不提取清单文件.我在多个浏览器中试过这个.
这是清单:
CACHE MANIFEST
# .
Run Code Online (Sandbox Code Playgroud)
这是HTML:
<!doctype html>
<html>
<head manifest="offline.appcache">
<meta charset="utf-8">
<title>Appcache test</title>
<script>
(function() {
var webappCache = window.applicationCache;
function loaded()
{
var h1El = document.querySelector("h1");
var connectionStatus = ((navigator.onLine) ? 'online' : 'offline');
h1El.textContent = h1El.textContent + " - currently: " + connectionStatus;
switch(webappCache.status)
{
case 0:
console.log("Cache status: Uncached");
break;
case 1:
console.log("Cache status: Idle");
break;
case 2:
console.log("Cache status: Checking");
break;
case 3:
console.log("Cache status: Downloading"); …Run Code Online (Sandbox Code Playgroud)