{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<div class=\"dni-plaintext\">572</div>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<div class=\"dni-plaintext\">772</div>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "List<int> numbers = new List<int>(){ 1, 7, 18, 48, 28, 20, 17, 458 };\n", "IEnumerable<int> evenNumbers = numbers.Skip(1).Where(n => n % 2 == 0);\n", "DisplayExtensions.Display(evenNumbers.Sum());\n", "numbers.Add(200);\n", "DisplayExtensions.Display(evenNumbers.Sum());" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><div class=\"dni-plaintext\">4</div></td></tr><tr><td>1</td><td><div class=\"dni-plaintext\">36</div></td></tr><tr><td>2</td><td><div class=\"dni-plaintext\">144</div></td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Func<int, bool> isEven = n => n % 2 == 0;\n", "DisplayExtensions.Display(\n", " new List<int>(){3, 6, 6, 5, 2, 12, 11, 13}.Skip(2).Where(isEven).Select(n => n * n).OrderBy(n => n).ToArray());" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><div class=\"dni-plaintext\">2</div></td></tr><tr><td>1</td><td><div class=\"dni-plaintext\">3</div></td></tr><tr><td>2</td><td><div class=\"dni-plaintext\">6</div></td></tr><tr><td>3</td><td><div class=\"dni-plaintext\">5</div></td></tr><tr><td>4</td><td><div class=\"dni-plaintext\">12</div></td></tr><tr><td>5</td><td><div class=\"dni-plaintext\">13</div></td></tr><tr><td>6</td><td><div class=\"dni-plaintext\">11</div></td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "DisplayExtensions.Display(\n", " new List<List<int>>(){ new List<int>(){2, 3, 6, 5}, new List<int>(){ 12, 13, 11 } }.SelectMany(l => l).ToArray());" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<div class=\"dni-plaintext\">55</div>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<div class=\"dni-plaintext\">5</div>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "List<int> numbers = new List<int>(){3, 6, 2, 5, 6, 12, 11, 13};\n", "Func<int, bool> isEven = n => n % 2 == 0;\n", "DisplayExtensions.Display(\n", " numbers.Where(isEven)\n", " .Select(n => n * n)\n", " .Average());\n", "\n", "DisplayExtensions.Display(\n", " numbers.Where(i => i > 4)\n", " .OrderBy(i => i)\n", " .FirstOrDefault());" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><div class=\"dni-plaintext\">6</div></td></tr><tr><td>1</td><td><div class=\"dni-plaintext\">2</div></td></tr><tr><td>2</td><td><div class=\"dni-plaintext\">6</div></td></tr><tr><td>3</td><td><div class=\"dni-plaintext\">12</div></td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><div class=\"dni-plaintext\">[ 3, 5, 11, 13 ]</div></td></tr><tr><td>1</td><td><div class=\"dni-plaintext\">[ 6, 2, 12 ]</div></td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><div class=\"dni-plaintext\">9</div></td></tr><tr><td>1</td><td><div class=\"dni-plaintext\">36</div></td></tr><tr><td>2</td><td><div class=\"dni-plaintext\">4</div></td></tr><tr><td>3</td><td><div class=\"dni-plaintext\">25</div></td></tr><tr><td>4</td><td><div class=\"dni-plaintext\">144</div></td></tr><tr><td>5</td><td><div class=\"dni-plaintext\">121</div></td></tr><tr><td>6</td><td><div class=\"dni-plaintext\">169</div></td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[3;6;2;5;6;12;11;13]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "List<int> numbers = new List<int>(){3, 6, 2, 5, 6, 12, 11, 13};\n", "Func<int, bool> isEven = n => n % 2 == 0;\n", "\n", "DisplayExtensions.Display(\n", " numbers.Where(isEven)\n", " .ToList());\n", "\n", "DisplayExtensions.Display(\n", " numbers.Distinct()\n", " .GroupBy(i => isEven(i) ? \"Even\" : \"Odd\"));\n", "\n", "DisplayExtensions.Display(\n", " numbers.Distinct().Select(i => i * i));\n", "\n", "DisplayExtensions.Display(\n", " $\"[{String.Join(\";\", numbers.ToArray())}]\");" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Filter: 3\r\n", "Filter: 2\r\n", "Map: 2 => 4\r\n", "Filter: 12\r\n", "Map: 12 => 144\r\n", "Reduce: aggregate=4 next=144 => 148\r\n", "Filter: 5\r\n", "Filter: 13\r\n", "Filter: 11\r\n" ] }, { "data": { "text/html": [ "<div class=\"dni-plaintext\">148</div>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "DisplayExtensions.Display(\n", " new List<int>(){3, 2, 12, 5, 13, 11}.Select(\n", " (i) =>\n", " {\n", " Console.WriteLine($\"Filter: {i}\");\n", " return i;\n", " })\n", " .Where(i => i % 2 == 0)\n", " .Select(\n", " (i) =>\n", " {\n", " int result = i * i;\n", " Console.WriteLine($\"Map: {i} => {result}\");\n", " return result;\n", " })\n", " .Aggregate(\n", " (sum, nextValue) =>\n", " {\n", " int result = sum + nextValue;\n", " Console.WriteLine($\"Reduce: aggregate={sum} next={nextValue} => {result}\");\n", " return result;\n", " }));" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td>This</td></tr><tr><td>1</td><td>is</td></tr><tr><td>2</td><td>test</td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td>This</td></tr><tr><td>1</td><td>is</td></tr><tr><td>2</td><td>test</td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td>This</td></tr><tr><td>1</td><td>is</td></tr><tr><td>2</td><td>test</td></tr><tr><td>3</td><td>another1</td></tr></tbody></table>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "List<string> lines = new List<string>(){\"This\", \"is\", \"a\", \"test\"};\n", "IEnumerable<string> linesWithEvenCount = lines.Where(line => line.Length % 2 == 0);\n", "DisplayExtensions.Display(linesWithEvenCount);\n", "DisplayExtensions.Display(linesWithEvenCount.ToArray());\n", "lines.Add(\"another\");\n", "lines.Add(\"another1\");\n", "DisplayExtensions.Display(linesWithEvenCount.ToArray());" ] } ], "metadata": { "kernelspec": { "display_name": ".NET (C#)", "language": "C#", "name": ".net-csharp" }, "language_info": { "name": "C#" } }, "nbformat": 4, "nbformat_minor": 2 }