我正在将VBA迁移到C#的过程中。我不知道如何使用或在C#中等效。让我向您展示代码行:
Range("U1:U" & LastRow).FormulaR1C1 = "=if(rc[-1]=""" & qyyyy & """,rc[-15],rc[-14])"
答案 0 :(得分:0)
Range("U1:U" & LastRow).FormulaR1C1 = $@"=if(rc[-1]=""{qyyyy}"",rc[-15],rc[-14])";
首先,字符串连接是C#中的+
与VB.NET中的&
。
其次,它使用字符串插值而不是串联,因为它使我们不必添加额外的引号来终止字符串。
它是这样的:
var x = 1;
var y = $"The number is {x}.";
// y = "The number is 1."
$
表示该字符串已插入,这意味着{qyyyy}
已转换为字符串。
字符串前面的@
表示字符串中的字符不会转义。这使我们可以在字符串中使用""
来表示单个"
。否则,我们必须这样做:
$"=if(rc[-1]=\"{qyyyy}\",rc[-15],rc[-14])";
...使用\
转义引号。那也可以,但是对我来说,阅读起来有点混乱。对于习惯于某些语言的人可能会更好。