我最近完成了一个C#项目的第一部分,Windows窗体应用程序,一切运行正常,只是当我运行代码分析时(Visual Studio2015),抛出了很多警告.

问题:

  1. 为什么这些警告不会在正常调试中显示?

  2. 花很多时间来解决这些警告是明智的吗?为什么在这个项目成功的时候?

  3. 如果问题2是真的,有没有一份快速参考文件,可以帮助解释许多警告和含义?

我浏览了微软的文档,但非常耗时.

推荐答案

  1. 如果您所说的"代码分析"指的是"错误列表"窗口,该窗口有三个用于错误、警告和消息的选项卡,那么如果只有警告和消息,您的程序确实会运行,但接下来可能会出现问题."消息"几乎总是风格上的建议(比如VS认为应该是私有的变量,或者是一个未使用的函数),但是警告通常是运行时可能出错的信号(比如忽略了变量的初始化).如果没有错误,"错误列表"窗口通常不会显示,但VS设置确实可以控制某些行为.
  2. 您应该花费多少时间来处理警告,取决于您想要花费多少时间来跟踪运行时错误.我可能不太关心"消息",但我的目标是始终没有警告.
  3. 我总是在谷歌上搜索错误或警告ID,如果文本描述没有任何意义,而一些微软支持网站通常会出现……或者甚至是StackOverflow,并提供了一些如何修复它的好建议.您可以在代码或VS设置中 suppress 警告,但这只是最后的手段,如果您意识到您无法修复它,这不是一个长期的问题,您不想再看到它.

Csharp相关问答推荐

WeakHandle .NET核心与.NET框架

在2D数组中绘制椭圆

如何从C#中有类.x和类.y的类列表中映射List(字符串x,字符串y)?

如何保持主摄像头视角保持一致?

CS0103 dlibdotnet和www.example.com facerect不在上下文中

更新产品但丢失产品ASP.NET Core的形象

.NET 6控制台应用程序,RabbitMQ消费不工作时,它的程序文件中的S

C#EF Core WHERE IN LINQ FROM LIST WITH.CONTAINS不返回任何内容

附加标题不起作用,而添加则起作用

为什么AggregateException的Catch块不足以处理取消?

从另一个不同 struct 的数组创建Newtonsoft.Json.Linq.J数组

有没有类似于扩展元素的合并元组的语法?

JsonSchema.Net删除假阳性判断结果

等待一个等待函数

使用switch 类型模式时出现奇怪的编译器行为

Azure Functions v4中的Serilog控制台主题

使用动态键从请求体反序列化JSON

如何使用.NET 8.0中新的CompositeFormat类?

在ObservableCollection上使用[NotifyPropertyChangedFor()]源代码生成器不会更新UI

在C#中通过Matheval使用自定义公式