关注this教程,这些行是什么意思?
Public Function DateTimeFromSCCM(ByVal ts As String) As DateTime
Dim pos As Integer = ts.LastIndexOfAny({"+"c, "-"c})
If pos < 0 Then Throw New ArgumentException("Timestamp must contain a timezone offset", "ts")
Dim offset As Integer
If Not Integer.TryParse(ts.Substring(pos + 1), offset) Then
Throw New ArgumentException("Timezone offset is not numeric", "ts")
End If
Dim hours As Integer = offset \ 60
Dim minutes As Integer = offset Mod 60
Dim timestamp As String = ts.Substring(0, pos + 1) & hours.ToString & minutes.ToString("00")
Dim result As DateTime
If Not DateTime.TryParse(timestamp, result) Then
Throw New ArgumentException("Invalid timestamp", "ts")
End If
Return result
End Function
逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值。
这些线条怎么能更容易写出来?
答案 0 :(得分:5)
在这种情况下,逗号分隔两个变量,就是它,它与写入相同
var join = require('path').join;
var pfx = join(__dirname, '../_certs/pfx.p12');
相反,人们可以做
var join = require('path').join,
pfx = join(__dirname, '../_certs/pfx.p12');
在这种情况下,逗号只是一个分隔符,就像它是一个对象文字或数组一样。
逗号运算符,当它要作用于两个表达式时,它们只是一个运算符,一个在左侧,一个在右侧,当你想要包含多个表达式时,可以使用它需要单个表达式的位置。
一个例子是返回陈述
[1,2,3].reduce(function(a,b,i) {
return a[i] = b, a; // returns a;
},[]);
等...
答案 1 :(得分:0)
在许多情况下,它基本上与分号相同,因此您可以将其重写为:
var join = require('path').join;
var pfx = join(__dirname, '../_certs/pfx.p12');
区别在于声明变量(如您的示例),其中var
应用于逗号分隔列表中的每个元素。除此之外,它或多或少是一个分号,但在大多数情况下不建议使用逗号语法。
我个人更喜欢它用于变量,因为我认为这看起来更清洁:
var a = 5,
b = 6,
c,
d;
但其他人不喜欢它。