示例#1
0
        public void TestPLINQ()
        {
            var data   = new ExampleObject();
            var result = from name in data.StringList.AsParallel() where name.Length > 6 select name;

            Assert.AreEqual(result.First(), "seconds");
        }
示例#2
0
        public void TestTaskParallell()
        {
            var data      = new ExampleObject();
            var processed = new List <string>();

            Parallel.ForEach <string>(data.StringList, (str) =>
            {
                if (str == "third")
                {
                    Thread.Sleep(1000);
                }
                processed.Add(str.Substring(0, 2));
            });
            Parallel.ForEach <string>(processed, (str) => { Console.WriteLine(str); });
            Assert.AreEqual(processed.ToArray()[4], "th");

            var array = data.StringList.ToArray();

            Parallel.For(0, array.Length - 1, (index) => { array[index] = array[index] + "1"; });
            Assert.AreEqual(array[1], "seconds1");
        }