c# - 谁是所有字符串中最伟大的?

标签 c# .net string sorting lexicographic

我正在将一个特殊(摘要)行插入到 DataTable 中,并且我希望它出现在已排序的 DataView 中的最后。我知道 DataView 正在按特定字符串列排序(升序),出于显示目的,汇总行的该列中显示的值无关紧要。

我可以在该字段中放置什么字符串以确保我的摘要行排序到最后?对于几乎任何其他数据类型的列,我可以使用 T.MaxValue,但遗憾的是没有 System.String.MaxValue 常量。

我已经试过了

footerRow[colGrouping] = "\uFFFF";

但是排序到了顶部! (DataView排序是字典序的,不是基于codepoint的数值)

最佳答案

如果我在不了解字典顺序的情况下即兴表演,我会说\uFF70

var table = new DataTable("table");
table.Columns.Add("column");

for (int i = 0; i < 65536; i++)
{
    var row = table.NewRow();
    row["column"] = (char)i;
    table.Rows.Add(row);
}

var view = new DataView(table);
view.Sort = "column";
var last = ((string)view[65535]["column"])[0];
//last is 0xff70 'ー'    

关于c# - 谁是所有字符串中最伟大的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40406658/

相关文章:

c - 读取文件行,将每一行放入一个数组中,然后打印

string - 是否有返回两个字符串之间差异计数的函数?

c# - 42883 : function does not exist - Calling Postgres Functions in Entity Framework C# Npgsql

c# - 无法从父类转换为子类

c# - Aspx 下拉列表不显示最高值

c# - Automapper 投影因可空属性而失败

.net - 每个 Mono 组件是用哪种语言开发的?

.net - EF 5 : Compare two lists of entities and perform insert, 更新,删除需要的地方

c# - 内存流问题

java - 文本清理和替换 : delete\n from a text in Java