Chrome 版 En Google
November 02, 2009
最新版 0.071 の Google Chrome extension パッケージ版を当サイトからも配布します。インストールはこちらからどうぞ。詳細は同ページの更新履歴を参照して下さい。
En Google modified by Gulfweed 0.07
September 08, 2008
バグのせいで Firefox 2 で動作しなくなっていました。修正版です。
unnonouno さん報告ありがとうございました。
インストール
正常に更新されない場合は一度 Greasemonkey を無効にして
上記リンクを開き、強制リロードをかけてください。
unnonouno さん報告ありがとうございました。
インストール
正常に更新されない場合は一度 Greasemonkey を無効にして
上記リンクを開き、強制リロードをかけてください。
C# の文字列ソート
August 17, 2008
つい忘れてしまうのでメモっておきます。
.NET Framework の String.CompareTo(String) は Char.CompareTo(Char) と異なる基準で文字を比較します。List<String> と List<Char> に ASCII 文字をつっこんで List<T>.Sort() すると一目瞭然です。List<T>.Sort() はデフォルトで CompareTo 使うため、これで違いを確認できます。
結果は以下です。
List<Char> のほうは ASCII コード順にソートされていますが、List<String> のほうはなにやら愉快なことになっています。
String.CompareOrdinal() という Char.CompareTo(Char) と同じ基準で比較をするスタティックメソッドがあるので、これを delegate にして渡してやると同じ結果になります。
.NET Framework の String.CompareTo(String) は Char.CompareTo(Char) と異なる基準で文字を比較します。List<String> と List<Char> に ASCII 文字をつっこんで List<T>.Sort() すると一目瞭然です。List<T>.Sort() はデフォルトで CompareTo 使うため、これで違いを確認できます。
using System;
using System.Collections.Generic;
...
List c_list = new List();
List s_list = new List();
for (int i = 0; ' ' + i <= '~'; i++) {
char c = (char)(' ' + i);
c_list.Add(c);
s_list.Add(new string(c, 1));
}
c_list.Sort();
foreach (char c in c_list) {
Console.Write(c);
}
Console.WriteLine();
s_list.Sort();
foreach (string s in s_list) {
Console.Write(s);
}
Console.WriteLine();
結果は以下です。
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
'- !"#$%&()*,./:;?@[]^_`{|}~+<=>\0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
List<Char> のほうは ASCII コード順にソートされていますが、List<String> のほうはなにやら愉快なことになっています。
String.CompareOrdinal() という Char.CompareTo(Char) と同じ基準で比較をするスタティックメソッドがあるので、これを delegate にして渡してやると同じ結果になります。
s_list.Sort(delegate(string a, string b) { return string.CompareOrdinal(a, b); });
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
En Google modified by Gulfweed 0.06
August 14, 2008En Google modified by Gulfweed 0.05
December 11, 2007
日本語インターフェースの仕様が変わったので対応しました
En Google modified by Gulfweed
正常に更新されない場合は一度 Greasemonkey を無効にして
上記リンクを開き、強制リロードをかけてください
原作者: ユーザJavaScript - namespace gimite
En Google modified by Gulfweed
正常に更新されない場合は一度 Greasemonkey を無効にして
上記リンクを開き、強制リロードをかけてください
原作者: ユーザJavaScript - namespace gimite