繁体   English   中英

逐字字符串字面意思?

[英]Verbatim string literal concat?

我一直在阅读逐字字符串文字和转义序列。 我现在好奇的是,当使用逐字字符串文字时,是否可以转义并说从数据库调用动态源?

例如,如何实现以下目标?

string jsFunc = @"
    (function() 
        {
            var image = 'Images/" + {sqlConn[2]} + "';
            var img = document.getElementbyId('img1');
            img.src = image;
        }
     );";

谢谢

您有3种选择:

string jsFunc = $@"
    (function() 
        {{
            var image = 'Images/{sqlConn[2]}';
            var img = document.getElementbyId('img1');
            img.src = image;
        }}
     );";

(注意$的前@和去除字符串连接部分,它变成一个字符串插值的这个。另外请注意,我不得不加倍括号,以免绊倒了底层string.Format 。)

或这个:

string jsFunc = string.Format(@"
    (function() 
        {{
            var image = 'Images/{0}';
            var img = document.getElementbyId('img1');
            img.src = image;
        }}
     );", sqlConn[2]);

这只是很好' string.Format 在这里,关于将括号加倍也是如此。

或这个:

string jsFunc = @"
    (function() 
        {
            var image = 'Images/" + sqlConn[2] + @"';
            var img = document.getElementbyId('img1');
            img.src = image;
        }
     );";

(请注意,我在串联之后在字符串的其余部分之前添加了一个新@ ,并删除了花括号。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM