在此示例中,我必须将数组转换为字符串才能使用内置的String.Compare方法。
char[] array = {'a','b','c'};
string s = "abc";
// here is the extra string allocation
var arrayString = new String(array);
var compareResult = String.Compare(s, arrayString);
有没有一种简单的方法可以将字符串与 char 数组进行比较而无需额外的字符串分配?
注意:我需要比较语义,我需要“[a] 32 位有符号整数,指示两个比较数之间的词法关系”。
小于零 -> strA 小于 strB。
零 -> strA 等于 strB。
大于零 -> strA 大于 strB。
(我正在循环中进行此比较,并且通过额外的字符串分配(25-100MB,基于我的输入的大小)产生了很多额外的垃圾)_。
我想我最终可能会弄脏自己的手,自己编写代码。