Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7634931
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T07:18:34+00:00 2026-05-31T07:18:34+00:00

a strange question,my code is: static void Main(string[] args) { Console.WriteLine(string.Compare(-, a));//output -1 Console.WriteLine(string.Compare(-d,

  • 0

a strange question,my code is:

static void Main(string[] args)
{
    Console.WriteLine(string.Compare("-", "a"));//output -1
    Console.WriteLine(string.Compare("-d", "a"));//output 1
    Console.Read();
}

who can tell me why?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T07:18:36+00:00Added an answer on May 31, 2026 at 7:18 am

    By default, string comparison uses culture-specific settings. These settings allow for varying orders and weights to be applied to letters and symbols; for instance, “resume” and “résumé” will appear fairly close to each other when sorting using most culture settings, because “é” is ordered just after “e” and well before “f”, even though the Unicode codepage places é well after the rest of the English alphabet. Similarly, symbols that aren’t whitespace, take up a position in the string, but are considered “connective” like dashes, slashes, etc are given low “weight”, so that they are only considered as tie-breakers. That means that “a-b” would be sorted just after “ab” and before “ac”, because the dash is less important than the letters.

    What you think you want is “ordinal sorting”, where strings are sorted based on the first difference in the string, based on the relative ordinal positions of the differing characters in the Unicode codepage. This would place “-d” before “a” if “-” would also come before “a”, because the dash is considered a full “character” and is compared to the character “a” in the same position. However, in a list of real words, this would place the words “redo”, “resume”, “rosin”, “ruble”, “re-do”, and “résumé” in that order when in an ordinal-sorted list, which may not make sense in context, and certainly not to a non-English speaker.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Look please at this code: public static void main(String[] args) { String[] array =
Slightly strange question, but hopefully someone can help. In essence, if the time was
I have a bit of a strange question. Can anyone tell me where to
This might seam like a strange question but.... public string MyProperty { get {
Strange Question i guess but i have this bit of code in my page...
I was just studying OCPJP questions and I found this strange code: public static
I found code: static void PrintMACaddress(unsigned char MACData[]) { printf(MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n, MACData[0], MACData[1],
Very strange question but I have some legacy code that interacts with another application
I have a strange question. I need to send some code to a client
Okay, strange question time! I'm refactoring some old C++ code that declares a bunch

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.