c#设置与逐字字符串文字
本文关键字:字符串 文字 设置 | 更新日期: 2023-09-27 18:06:59
也许我没有看到或理解我读到的任何答案,但我在使用settings.Default.(mysetting)
的逐字字符串文字(@)时遇到了麻烦。我想做一些类似
Directory.GetFiles(@Setting.Default.(mysetting),"*.txt");
和似乎找不到正确的语法使这个工作
@标识字符串常量,其中反斜杠不应被解释为转义符号。您不能像这里那样在方法调用前使用它。
一个有效的赋值可以是
string path = @"c:'temp'example.txt";
通常't将被解释为一个制表字符,从而使文件引用非法。它与
完全相同string path = "c:''temp''example.txt" ;
但是更容易读
@
逐字字符串与字符串字面值一起使用。所以你的代码应该是:
Directory.GetFiles(Setting.Default.(mysetting),@"*.txt");
因为"*.txt"
是你代码中的字符串字面值。
(虽然不相关,但您可以将@
与变量名称一起使用,参见c#变量命名和@符号)
要使用@
作为字符串字面值的一部分,字符串字面值必须在那里-而不仅仅是返回字符串的属性,方法等。
string myStr = @"I'm verbatim, I contain a literal 'n";
string myStr2 = "I'm not'nI have a newline";
string myStr3 = @myStr2; // still contains a newline, not a literal "'n"
在标识符前面使用@
允许使用保留关键字作为标识符。例如:
string @if = "hello!"; // valid
它也适用于非保留字,在那里它没有实际效果。
string @myVar = "hello!"; // valid
string newVar = myVar; // can be referred to either way
除非我错过了它,否则您仍然需要将字符串用引号括起来。