String sorting issue in C# -



String sorting issue in C# -

i have list this

list<string> items = new list<string>(); items.add("-"); items.add("."); items.add("a-"); items.add("a."); items.add("a-a"); items.add("a.a"); items.sort(); string output = string.empty; foreach (string s in items) { output += s + environment.newline; } messagebox.show(output);

the output coming as

- . a- a. a.a a-a

where expecting results as

- . a- a. a-a a.a

any thought why "a-a" not coming before "a.a" "a-" comes before "a."

if want string sort based on actual byte value opposed rules defined current civilization can sort ordinal:

items.sort(stringcomparer.ordinal);

this create results consistent across cultures (but produce unintuitive sortings of "14" coming before "9" may or may not you're looking for).

c# string sorting cultureinfo

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -