变量 inside 内插
Variable inside inner interpolation
这个非常有效:
($"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? " AND UserId<>5" : string.empty)}";
尽管如此,除了静态 5 值之外,我还想将变量放在那里。我尝试按如下方式进行更改,但出了点问题:
($"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? " AND UserId<>"{myVariable} : string.empty)}";
我做错了什么?
这应该有效:
string query = $"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? $" AND UserId<>{myVariable}" : string.Empty)}";
您应该在内部 " AND UserId<>{myVariable}"
字符串之前添加一个插值字符 $
以在该字符串中使用插值表达式
var isConfirmed = true;
var Table = "test";
var myVariable = 5;
var str = $"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? $" AND UserId<>{myVariable}" : string.Empty)}";
它会给你
SELECT * FROM test WHERE Hex = 11 AND UserId<>5
这个非常有效:
($"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? " AND UserId<>5" : string.empty)}";
尽管如此,除了静态 5 值之外,我还想将变量放在那里。我尝试按如下方式进行更改,但出了点问题:
($"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? " AND UserId<>"{myVariable} : string.empty)}";
我做错了什么?
这应该有效:
string query = $"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? $" AND UserId<>{myVariable}" : string.Empty)}";
您应该在内部 " AND UserId<>{myVariable}"
字符串之前添加一个插值字符 $
以在该字符串中使用插值表达式
var isConfirmed = true;
var Table = "test";
var myVariable = 5;
var str = $"SELECT * FROM {Table} WHERE Hex = 11 {(isConfirmed ? $" AND UserId<>{myVariable}" : string.Empty)}";
它会给你
SELECT * FROM test WHERE Hex = 11 AND UserId<>5