守则如下:
For Each queryObj As ManagementObject In searcher.Get()
objWriter = New StreamWriter("C:\vsl\scripts\results.txt", False)
objWriter.Write("Active: {0} ", queryObj("Active"))
objWriter.Write(" InstanceName: {0} ", queryObj("InstanceName"))
objWriter.Write(" PredictFailure: {0} ", queryObj("PredictFailure"))
objWriter.Write(" Reason: {0} ", queryObj("Reason"))
objWriter.Close()
Next似乎从我唯一的内部IDE驱动器中获取数据。
有两件事我不明白。
如果在第一组引号之间更改数据,则
发布于 2011-07-29 20:28:52
您需要发布更多的代码来帮助我们处理#2,例如如何定义searcher。
但你的第一个问题很简单。字符串{0}是标准的替换语法。如果你写的是这样的话:
objWriter.Write("Hello {0}, my name is {1}", "Alice", "Bob")它将写明:
Hello Alice, my name is Bob{0}代表初始字符串之后的第一个项目(在编程数字中,从零开始,所以第一个是零,第二个是1,等等)。在您的示例中,{0}被queryObj("Active")返回的任何内容所取代。
只要有值支持,您通常可以拥有任意数量的{X}。拥有更多的值是好的,拥有的太少是一个错误,这是你遇到的。
所以这是可以的,因为最后一个("Bob")被忽略了:
objWriter.Write("Hello {0}", "Alice", "Bob")但这是不行的,因为我们对{1}没有什么可补的。
objWriter.Write("Hello {0}, my name is {1}", "Alice")https://stackoverflow.com/questions/6877637
复制相似问题