我想在程序集中嵌入一个文本文件,这样我就可以加载文本而无需从磁盘中读取它,因此我需要的所有东西都包含在exe中.(这样它更便携)
有没有办法做到这一点?我假设资源文件的东西?
如果可以的话,你是如何做到的,以及如何将文本加载到字符串中?
在C#中,我经常使用逐字字符串文字(例如@"Arrr!")来跨越多行来断开长字符串,同时保留布局.例如,我使用它来分解内联SQL,如下所示:
var sqlString = @"
SELECT
Column1
, ...
FROM
Table1 INNER JOIN ...
WHERE
Column2 = @Value2
, ...
";
Run Code Online (Sandbox Code Playgroud)
...或者打破这样的正则表达式模式:
var regexPattern = @"
(?<state>\w+)[.]? (?#*** Matches state {optionally having a period at the end} ***)
(\s+|,|,\s+|\s*\u2022\s*) (?#*** Matches space between state and zip {can include a comma or bullet point} ***)
(?<zip>(\d{5}-\d{4}\b|\d{5}(?![\w-]))) (?#*** Matches zip code ***)
";
Run Code Online (Sandbox Code Playgroud)
但是,如果此代码稍后自动缩进,则逐字字符串文字不会自动缩进.当它上方和下方的代码行向右移动时,它会被遗忘.结果是它与其他一切都不一致.例如:
之前:
verbatim = @" ___
I likes my |
strings purty | indented the way …Run Code Online (Sandbox Code Playgroud)