在Visual Studio中,我使用了以下代码:
line = data_file.read(chunk*1000)
for x in range(1000):
offset = chunk*x
for item in columns:
piece = line[item[1]+offset:item[1]+item[2]+offset].replace('\n','')
#Depending on the data type, a piece may undergo one or two checks before being
#added to a list which is then written to an output file
编译器给我一个警告,说“已分配答案,但从未使用过它的值”。 我该如何解决这个问题?
答案 0 :(得分:4)
这意味着您已为answer
提供了值,但未在其他地方引用它。这意味着您没有在程序的其他地方使用答案。
您可以通过引用程序其他部分的答案来修复它。
答案 1 :(得分:2)
如果要禁用警告,错误列表中包含一个按钮,可以阻止它们显示在列表中。
此外,警告只是一个警告。他们不会阻止你的程序编译,甚至不能运行。但是,他们可能会事先声明运行时错误等,所以不要完全忽略它们。
答案 2 :(得分:2)
弹出警告的原因不是因为永远不会分配变量,而是因为它实际上从未用于其余代码中的任何类型的比较。
请仔细阅读此参考资料: http://weblog.west-wind.com/posts/2009/Feb/28/Variable-is-assigned-but-its-Value-is-never-used-Warning
答案 3 :(得分:0)
除了上述答案之外,还可以进一步了解此警告:
此警告将不会始终弹出(如果不使用分配的变量)。分配非常量表达式或方法结果将不会生成警告。这是有意完成的,因为这样的未分配变量可以在调试中使用。
例如:
var answer = SomeObject.SomePropery; //will not generate CS0219
Microsoft.Docs中有很好的解释: https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0219