文字比較と文字比較に関連する質問があります。個々の文字の文字列比較とアルファベット順
文字>
および0
(ゼロ)には、それに応じて小数の値が62
および48
になります。
私は、次のコードで2つの文字を比較すると、私は(正しい)値True
を取得
Console.WriteLine('>' > '0');
私は、次のコードで2つの1文字の文字列を比較すると、私は値-1
を得ることを示しています">"、 "0"(デフォルトの培養は英語である)未満で
Console.WriteLine(string.Compare(">", "0"));
"3"、 "1"(51
と49
コードVALUの比較一方ES)次のコードに1
を返す(予想通り)
Console.WriteLine(string.Compare("3", "1"));
また、string.Compare(string str1, string str2)
ドキュメントは言う:
比較は、ケーシングルールとして培養固有 情報を取得するために、現在の培養を使用してアルファベット順の 個々の文字
あなたは説明することができますか(またはいくつかのドキュメントへの参照を提供する)比較は実施される。どうすればアルファベット順の各文字が計算されますか?
[MSDN(http://msdn.microsoft.com/en-us/library/84787k22.aspx)「はString.Compare(ストラ、STRB)と言うSTRAが少ないですstrBより。たとえば、 'string.Compare(" A "、" B ")'は '-1'を返します。' 'A ''は '' B' ''より小さい。なぜ ""> "' "0" 'よりも小さいのですか? – dtb
私は質問を更新しました。「3」と「1」を比較すると、「3」にコード51があり、「1」にコード49があります(期待通り)。それはあなたの説明と一致しません。 – Alexandar
@Alexandar良い点。私はPeteKirkhamが私よりもそれに答えたと思う – DiskJunky