Azure 表存储:使用哪种字符串比较方法?

Bri*_*Rak 5 c# azure string-comparison azure-table-storage

我想使用 查询 Azure 表存储以获取实体范围RowKey >= MyRangeStart AND RowKey <= MyRangeEnd

但是,我无法找到准确说明 Azure 表存储使用哪种字符串比较方法的文档。例如,在 C# 中,"a".CompareTo("A")根据当前区域性产生不同的结果。

从实验来看,Azure Table Storage 执行的比较与 string.CompareOrdinal 相同。然而,如果能够确信这确实是正在使用的比较,那就太好了。

有没有官方文档描述所使用的字符串比较?

OmG*_*OmG 3

正如文档中提到的,词法比较用于聚集索引。因此,这是最适合您的情况的情况。

在所有查询响应中都会观察到排序顺序。排序操作期间使用词法比较。因此,字符串值“111”将出现在字符串值“2”之前。在某些情况下,您可能希望顺序是数字。要按数字和升序排序,您需要使用固定长度、零填充的字符串。在前面的示例中,使用“002”将允许它出现在“111”之前。

  • 感谢您的评论。我确实注意到它谈到“词汇比较”。但是,我的理解是,这仅意味着它是字符串比较,而不是整数比较。我明白这一点。但是,有不同的方法来比较字符串。我有兴趣确定是否使用了序数字符串比较(使用每个字符的 unicode 值)。 (2认同)