整数配列に分割された文字列があります。この配列のサイズは、1 アイテムから 100,000 (またはそれ以上) までです。順序は重要ではありません。
目的は、後でオブジェクトを使用して、値が存在するかどうかを判断することです。testmeInt
別のループがこのオブジェクトに対してテストを行い、アイテムが存在するかどうかを確認します (ループは、配列内のアイテムの数よりも多く反復します)。
方法 1: 配列
整数を選択しようとすると、エラーが発生します
方法 2: 辞書
var testme = "12,23".Split(',');
int[] testmeInt = Array.ConvertAll<string, int>(testme, int.Parse);
Dictionary<int, int> TestMeDict = new Dictionary<int, int>();
foreach (int item in testmeInt)
{
TestMeDict.Add(item, 0);
}
for (int i = 1; i <= 50000000; i++)
{
if (TestMeDict.ContainsKey(i) == true) {
//It Exists
}
}
私の推測では、 Dictionary を使用する Way2 が最速になるでしょう。この質問は私のものと似ていますが、私の正確なユースケースはカバーしていません。