そのような番号が存在しない場合、リストの途中に番号を挿入する方法は?
以下の例では、番号 4 を挿入しようとしています
List<int> list1 = new List<int>(){ 0, 1, 2, 3, 5, 6 };
int must_enter = 4;
if (!list1.Contains(must_enter))
{
list1.Add(must_enter);
}
リストの最後に結果番号が入りますが、3の直後(5の前)が欲しいです。
プロジェクトの仕様により、ソートされたリストは使用できませんが、リスト内のすべての数値は昇順であることが保証されていることに注意してください (0,2,6,9,10,...)
編集:エラーについて知っていたので、それが私がしたことです:
List<int> list0 = new List<int>() { 1, 2, 3, 5, 6 };
int must_enter = 7;
if (!list0.Contains(must_enter))
{
if (must_enter < list0.Max())
{
int result = list0.FindIndex(item => item > must_enter || must_enter > list0.Max());
list0.Insert(result, must_enter);
}
else
{
list0.Add(must_enter);
}
}
edit2: とにかく、いくつかの要因により BinarySearch メソッドに切り替えました。皆さん、助けてくれてありがとう!