我正在做一个项目,他们给了我一个 C# 文件,其中的代码类似于我必须做的。调查它我发现了这个:
valorOpcion1 = "valor_que_viene_de_un_lado";
valorOpcion2 = "valor_que_viene_de_otro_lado";
var miLista = new List<string>
{
$"opcion1:{valorOpcion1}",
$"opcion1:{valorOpcion2}"
};
它所做的是定义和初始化具有两个默认值的字符串列表。我的疑问来自带有$
那些锁链的那个,我不知道它是什么。
将美元符号 ( $
) 放在字符串前面有什么作用?"hola"
说和之间有区别$"hola"
吗?
这意味着它是一个插值字符串。
字符串插值意味着您可以在代码中使用先前定义的变量,JIT 编译器会在运行时将它们替换为各自的值。
在您的示例中,每个选项都将具有值:
插值允许您调用链中的函数,例如:
您甚至可以在内部使用三元运算符,进行快速分析:
完整的文档在这里
有
C#
两种类型的符号可以strings
直接格式化字符串。以前,使用复合字符串格式,使其使用无法识别的参数,并使格式化字符串的过程更加繁琐。
让我们使用以下示例类:
使用
Formato Compuesto
, 来形成一个包含 person 值的字符串,您必须执行以下操作:如果您注意到,
Formato Compuesto
它是由索引引导的,如果您不知道顺序,它不会让您清楚地使用什么值。因此,使用 的格式Cadena Interpolada
,格式是直接的,并且您已经知道分配的属性:例如,如果我想在 a 中打印引号
string
,我必须在其间插入符号\
,这意味着 the\
不会成为结果的一部分。如果我想让符号\
成为结果的一部分,我必须使用Identificador textual
:您可以在随附的官方文档中查看更多示例。
什么是?
$
是字符串插值的快捷方式String.Format
并与字符串插值一起使用。在字符串上使用它
"hola"
不会修改任何东西,就像使用String.Format("hola")
. 现在,如果您在代码中显示:valorOpcion1
它所做的是将y的值valorOpcion2
放入字符串中。