Parallel.ForEach с Enumerable из KeyValuePairs? - PullRequest
0 голосов
/ 07 апреля 2020

Я использую неправильный метод перегрузки Parallel ForEach? Когда я использую обычный ForEach l oop, я могу получить текущий элемент, который является правильным типом (KeyValuePair), как и ожидалось.

Но когда я использую версию Parallel, кажется, что даже если я наведу курсор мыши на текущий объект в l oop, и он выглядит как правильный тип, все равно я не получу свойства Value и Key.

Заранее спасибо!

static void TestParallelForEachKeyValuePair(IEnumerable<KeyValuePair<Animal, string>> kvps)
    {
        foreach (var kvp in kvps)
        {
            var test = kvp.Key;
        }

        Parallel.ForEach(kvps, (kvp) =>
        {
            kvp.
        });
    }

ForEach

Параллельный ForEach

Наведение текущего элемента внутри Parallel ForEach

1 Ответ

1 голос
/ 07 апреля 2020

этот метод тестирования работает, но IntelliSense не показывает "Ключ" и "Значение" (формы Windows). Так что его проблема IntelliSense.

    static void TestParallelForEachKeyValuePair()
    {
        List<KeyValuePair<int, string>> test = new List<KeyValuePair<int, string>>();
        test.Add(new KeyValuePair<int, string>(1, "test1"));
        test.Add(new KeyValuePair<int, string>(2, "test2"));
        test.Add(new KeyValuePair<int, string>(3, "test3"));


         Parallel.ForEach(test, (x) =>
         {
             MessageBox.Show(x.Key + "  " + x.Value);
         });
    }
...