1+ {
2+ "cells" : [
3+ {
4+ "cell_type" : " code" ,
5+ "execution_count" : null ,
6+ "metadata" : {},
7+ "outputs" : [
8+ {
9+ "data" : {
10+ "text/html" : " <table><thead><tr><th>Major</th><th>Minor</th><th>Build</th><th>Revision</th><th>MajorRevision</th><th>MinorRevision</th></tr></thead><tbody><tr><td><div class=\" dni-plaintext\" >0</div></td><td><div class=\" dni-plaintext\" >0</div></td><td><div class=\" dni-plaintext\" >0</div></td><td><div class=\" dni-plaintext\" >0</div></td><td><div class=\" dni-plaintext\" >0</div></td><td><div class=\" dni-plaintext\" >0</div></td></tr></tbody></table>"
11+ },
12+ "output_type" : " unknown"
13+ }
14+ ],
15+ "source" : [
16+ " using System;\r\n " ,
17+ " using System.Reflection;\r\n " ,
18+ " \r\n " ,
19+ " Assembly.GetExecutingAssembly().FullName"
20+ ]
21+ },
22+ {
23+ "cell_type" : " code" ,
24+ "execution_count" : 1 ,
25+ "metadata" : {
26+ "dotnet_interactive" : {
27+ "language" : " csharp"
28+ }
29+ },
30+ "outputs" : [
31+ {
32+ "data" : {
33+ "text/plain" : " There are 4 items.\r\n "
34+ },
35+ "output_type" : " unknown"
36+ },
37+ {
38+ "data" : {
39+ "text/plain" : " item = home\r\n "
40+ },
41+ "output_type" : " unknown"
42+ },
43+ {
44+ "data" : {
45+ "text/plain" : " item = data\r\n "
46+ },
47+ "output_type" : " unknown"
48+ },
49+ {
50+ "data" : {
51+ "text/plain" : " last = src\r\n "
52+ },
53+ "output_type" : " unknown"
54+ },
55+ {
56+ "data" : {
57+ "text/plain" : " False, src\r\n "
58+ },
59+ "output_type" : " unknown"
60+ }
61+ ],
62+ "source" : [
63+ " using System;\r\n " ,
64+ " using System.Diagnostics;\r\n " ,
65+ " \r\n " ,
66+ " string testPath = \" /home/data/test/src\" ;\r\n " ,
67+ " \r\n " ,
68+ " \r\n " ,
69+ " string FindLastOne(string path = \" /\" ) \r\n " ,
70+ " {\r\n " ,
71+ " if (path == null) { return null; }\r\n " ,
72+ " string[] paths = path.Split('/');\r\n " ,
73+ " if(paths.Length > 0) \r\n " ,
74+ " {\r\n " ,
75+ " var i = 0;\r\n " ,
76+ " var item = \"\" ;\r\n " ,
77+ " Console.WriteLine($\" There are {paths.Length - 1} items.\" );\r\n " ,
78+ " for (i = 0; i < paths.Length - 1; i++) \r\n " ,
79+ " { \r\n " ,
80+ " item = paths[i];\r\n " ,
81+ " if(!String.IsNullOrEmpty(item))\r\n " ,
82+ " {\r\n " ,
83+ " Console.WriteLine($\" item = {item}\" );\r\n " ,
84+ " }\r\n " ,
85+ " }\r\n " ,
86+ " Console.WriteLine($\" last = {paths[paths.Length - 1]}\" );\r\n " ,
87+ " }\r\n " ,
88+ " return paths[paths.Count() - 1];\r\n " ,
89+ " }\r\n " ,
90+ " \r\n " ,
91+ " var last = FindLastOne(testPath);\r\n " ,
92+ " // string path = \" /home/data/test/src\" ;\r\n " ,
93+ " \r\n " ,
94+ " /*\r\n " ,
95+ " foreach (var sub in subs)\r\n " ,
96+ " {\r\n " ,
97+ " Console.WriteLine($\" Substring: {sub}\" );\r\n " ,
98+ " }*/\r\n " ,
99+ " \r\n " ,
100+ " Console.WriteLine($\" {testPath.EndsWith(\" /\" )}, {last}\" );"
101+ ]
102+ },
103+ {
104+ "cell_type" : " code" ,
105+ "execution_count" : 1 ,
106+ "metadata" : {},
107+ "outputs" : [
108+ {
109+ "data" : {
110+ "text/plain" : " Key=1\r\n "
111+ },
112+ "output_type" : " unknown"
113+ }
114+ ],
115+ "source" : [
116+ " public class NamedContainer<T>\r\n " ,
117+ " {\r\n " ,
118+ " public NamedContainer(T item, string name)\r\n " ,
119+ " {\r\n " ,
120+ " Item = item;\r\n " ,
121+ " Name = name;\r\n " ,
122+ " }\r\n " ,
123+ " \r\n " ,
124+ " public T Item { get; }\r\n " ,
125+ " public string Name { get; }\r\n " ,
126+ " }\r\n " ,
127+ " \r\n " ,
128+ " var nc = new NamedContainer<int>(1, \" Key\" );\r\n " ,
129+ " Console.WriteLine($\" Key={nc.Item}\" );"
130+ ]
131+ }
132+ ],
133+ "metadata" : {
134+ "kernelspec" : {
135+ "display_name" : " .NET (C#)" ,
136+ "language" : " C#" ,
137+ "metadata" : {
138+ "interpreter" : {
139+ "hash" : " 82a4497aa44a440fbfb1d441f8bbfbe94f1ccaaf7adaa9528d6a47a3b7658ad3"
140+ }
141+ },
142+ "name" : " .net-csharp"
143+ },
144+ "language_info" : {
145+ "name" : " dotnet-interactive.csharp" ,
146+ "version" : " 3.8.5-final"
147+ },
148+ "orig_nbformat" : 2
149+ },
150+ "nbformat" : 4 ,
151+ "nbformat_minor" : 2
152+ }
0 commit comments