Vb.net表达式在“&”之后出现

时间:2013-04-17 18:49:40

标签: vb.net expression

我正在尝试将文本写入文件,除了一个错误外,还有其他所有内容。 它说“表达预期”

以下是代码:

 Using writer As StreamWriter = New StreamWriter(filepath)
            writer.Write("[HealthBarSettings]" & vbNewLine &  _
"MaxHealthTicks = 50" & vbNewLine &  _
"MaxHealthMicroTicks = 100" & vbNewLine &  _
"DefaultHealthPerMicroTick = 50" & vbNewLine &  _
"DefaultHealthPerTick = 200" & vbNewLine &  _
"DefaultHealthPerMegaTick = 1000" & vbNewLine &  _
 & vbNewLine &  _
"TickAlpha = 200" & vbNewLine &  _
"MicroTickAlpha = 140" & vbNewLine &  _
"MicroTickHeight = 0.5" & vbNewLine &  _
"MegaTickAlpha = 255" & vbNewLine &  _
"TickThickness = 1.0" & vbNewLine &  _
"MicroTickThickness = 1.0" & vbNewLine &  _
"MegaTickThickness = 2.0" & vbNewLine &  _
 & vbNewLine &  _
"UseCompression = 1" & vbNewLine &  _
"GoTransparent = 1" & vbNewLine &  _

错误在第8行,如果它说“& vbNewLine& _”,则没有其他内容,第一个&有下划线。像这样的其他行没有错误。

3 个答案:

答案 0 :(得分:2)

我真的很讨厌字符串连接。为了避免它,我会写

Dim sb = new StringBuilder(680)
sb.AppendLine("[HealthBarSettings]")
sb.AppendLine("MaxHealthTicks = 50")
sb.AppendLine("MaxHealthMicroTicks = 100")
sb.AppendLine("DefaultHealthPerMicroTick = 50")
sb.AppendLine("DefaultHealthPerTick = 200")
sb.AppendLine("DefaultHealthPerMegaTick = 1000")
sb.AppendLine()
sb.AppendLine("TickAlpha = 200")
sb.AppendLine("MicroTickAlpha = 140")
sb.AppendLine("MicroTickHeight = 0.5")
sb.AppendLine("MegaTickAlpha = 255")
sb.AppendLine("TickThickness = 1.0")
sb.AppendLine("MicroTickThickness = 1.0")
sb.AppendLine("MegaTickThickness = 2.0")
sb.AppendLine()
sb.AppendLine("UseCompression = 1")
sb.AppendLine("GoTransparent = 1")
writer.Write(sb.ToString())

我创建了一个StringBuilder,初始容量为680个字符。 (假设17行,每行40个字符)。 StringBuilder有一个内部缓冲区,用于存储字符。该缓冲区以16字符容量开始。你可以调用StringBuilder的构造函数,说你需要1K缓冲区。这将为请求的大小创建内部缓冲区,如果足够大,框架不需要执行大小调整操作,当添加更多字符时,超出缓冲区当前大小。

答案 1 :(得分:0)

将第8行更改为:

"DefaultHealthPerMegaTick = 1000" & vbNewLine  _

 & vbNewLine &  _

问题是额外&amp ;.使用_

时,不需要连接运算符

答案 2 :(得分:0)

你曾经使用过&签署两次

1. "MaxHealthTicks = 50" & vbNewLine &  _
2. "MaxHealthMicroTicks = 100" & vbNewLine &  _
3. "DefaultHealthPerMicroTick = 50" & vbNewLine &  _
4. "DefaultHealthPerTick = 200" & vbNewLine &  _
6. "DefaultHealthPerMegaTick = 1000" & vbNewLine &  _
7. & vbNewLine &  _
8. "TickAlpha = 200" & vbNewLine &  _
9. "MicroTickAlpha = 140" & vbNewLine &  _
10. "MicroTickHeight = 0.5" & vbNewLine &  _
11. "MegaTickAlpha = 255" & vbNewLine &  _
12. "TickThickness = 1.0" & vbNewLine &  _
13. "MicroTickThickness = 1.0" & vbNewLine &  _
14. "MegaTickThickness = 2.0" & vbNewLine &  _
15.  & vbNewLine &  _
16. "UseCompression = 1" & vbNewLine &  _
17. "GoTransparent = 1" & vbNewLine &  _

看到我提到的最后一行...第6行有'&'和7也有'&'所以它使用了两次 并且14和15也没有相同的事情,没有必要使用17如果没有你的最后一行

&  _