C#, C♯, C#相談室 Part85
■ このスレッドは過去ログ倉庫に格納されています
0693名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:55:52.48ID:y9otNf+Tなかなか大変だった。
めったにおこらないレアケースらしい。
逆にいえば、ほとんどの場合、望んでいる振る舞いをする。
以下が落ちるコード。みんなも確認してみてほしい。
public class DescendingRandomComparer : IComparer<int>
{
public int Compare(int x, int y)
{
return x == y ? Program.random.Next(2) * 2 - 1 : -x.CompareTo(y);
}
}
class Program
{
public static Random random = new Random(1);
static void Main(string[] args)
{
int[] key = { -9, -11, -10, -10, -10, -10, -11, -10, -10, -9, -11, -11, -9, -11, -14, -13, -10, -11, -13 };
int[] val = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
DescendingRandomComparer descendingRandomComparer = new DescendingRandomComparer();
Array.Sort(key, val, descendingRandomComparer);
Console.WriteLine(key.ToStringExtension());
Console.WriteLine(val.ToStringExtension());
Console.ReadLine();
}
}
■ このスレッドは過去ログ倉庫に格納されています