VS 2023 'var' 建议

frh*_*ert 3 c# var visual-studio-2022

foreach (int dirId in dirIds)
{
    serieIds.AddRange((from serie in TableDataGrid.TargetBaseContext.Series
                       where serie.RepertoireId == dirId
                       select serie.SerieId).ToList());
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,VS建议使用var而不是int. int如果只是需要的话,我们为什么要这么做呢?有没有办法告诉VS不要建议这样的修改?

我只是试图了解当我认为某件事比某件事int更好时我是否错过了某事var

Oli*_*bes 6

在 Visual Studio 中,在菜单“工具”>“选项...”中,您可以导航到“文本编辑器”>“C#”>“代码样式”>“常规”并配置“var”首选项

在此输入图像描述

这些是我个人的喜好:

  • 对于内置类型 var不会增加任何值,只会使代码可读性较差
    =>更喜欢显式类型

  • 当变量类型像 中那样明显时var dict = new Dictionary<int, string>();,重复类型名称是没有意义的。var使代码更具可读性
    =>更喜欢 'var'

  • 其他地方:还有所有其他情况。有时您想查看 中的类型List<PersonDto> = GetData();。在其他情况下(通常是 LINQ 查询),类型名称可能会变得相当复杂并且不会增加太多价值。或者您对查询返回 a 的事实感兴趣IOrderedEnumerable<(string Key, IEnumerable<IGrouping<string, Polygon>> Polygons)>?在这里,我将 Severity 设置为Refactoring only。这让我可以随时轻松重构代码,而无需 Visual Studio 向我发送不相关的消息
    =>更喜欢显式类型+仅重构