为什么名为 DefaultStringValue 的 属性 总是在 IntelliSense 中最先出现?

Why does a property called DefaultStringValue always appear first in IntelliSense?

如果定义如下class:

public class Test
{
    public string Something { get; set; }  
    public string AnotherThing { get; set; }  
    public string DefaultStringValue { get; set; }
}

然后,当您使用 IntelliSense 列出属性时,DefaultStringValue 出现在列表的第一位,尽管这不是按字母顺序排列的:

如果您将 属性 名称更改为 任何其他名称,将恢复正常服务:

有人知道这是为什么吗?我很好奇...

(注:我用的也是Resharper Ultimate 2018.1.2)

这是 IntelliSense (and/or ReSharper),嗯,它是智能的,并试图帮助您重新使用以前使用过的东西。如果你从头开始,你会发现事情是按字母顺序排列的:

我敢打赌,在过去的某个时候,您使用了 DefaultStringValue 属性,而不是其他,所以它首先建议:

重命名后,如果您输入 t.DefaultStringValu = "x"; 行,然后再次删除它,下次您输入 t. 并调用 IntelliSense 时,DefaultStringValu 现在将位于列表顶部: