c# - C# 中的结构给出警告字段永远不会分配给,并且将始终具有其默认值 0

标签 c#

我有如下非常简单的结构:

 public struct ShFileInfo
 {
     public int hIcon;
     public int iIcon;
     public int dwAttributes;
 }

我已启用警告为错误。现在所有三个 int 都出现错误

Field is never assigned to,and will always have its default value 0

显然,如果我尝试将 int 初始化为 0,我会收到错误消息。有没有办法在不禁用错误警告的情况下处理这个问题。

最佳答案

如果你的结构在内部类中,那么你会得到这个警告

internal class WrapperClass
{
    public struct ShFileInfo
    {
        public int hIcon;
        public int iIcon;
        public int dwAttributes;
    }
}   

当您将内部访问权限更改为 public 时,警告消失了:

public class WrapperClass
{
    public struct ShFileInfo
    {
        public int hIcon;
        public int iIcon;
        public int dwAttributes;
    }
}

关于c# - C# 中的结构给出警告字段永远不会分配给,并且将始终具有其默认值 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31716012/

相关文章:

c# - C#错误中数组元素的访问器

c# - 使用 LINQ 反序列化 Json 的更优雅的方法?

c# - 对对象使用 C# 动态方法

c# - 在 ASP.net MVC 中使用 benchmarkdotnet 获取性能结果

c# - 将 C Union 转换为 C#(未正确对齐)

C# NHibernate 简单问题

c# - 我可以在 Entity Framework Core 中触发连接数据库的事件吗?

c# - 在不同的配置中引用不同的程序集

c# - 如何从 Visual Studio C#.net 创建一个文本文件 (.txt) 与自动换行属性禁用?

c# - 如何确保 FirstOrDefault<KeyValuePair> 已返回值