├── CsSeis
├── App.config
├── Person.cs
├── Properties
│ └── AssemblyInfo.cs
├── CsSeis.csproj
└── Program.cs
├── CsSeis.sln
├── LICENSE
└── .gitignore
/CsSeis/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/CsSeis/Person.cs:
--------------------------------------------------------------------------------
1 | namespace CsSeis
2 | {
3 | public class Person
4 | {
5 | public Person Parent { get; set; }
6 | public string Name { get; } = "Cosme Fulanito";
7 | public int Age { get; set; } = 0;
8 |
9 | public Person(string name = null, int age = -1)
10 | {
11 | if(name != null)
12 | Name = name;
13 |
14 | if (age >= 0)
15 | Age = age;
16 | }
17 |
18 | public string SayHi() => $"Hi, my name is {Name} and I'm {Age}";
19 |
20 | public string SayHi(string greetingPerson) => $"Hi {greetingPerson}, my name is {Name} and I'm {Age}";
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/CsSeis.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.24720.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsSeis", "CsSeis\CsSeis.csproj", "{4CC1C56C-99CF-4F4B-BD93-0F90E824C405}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {4CC1C56C-99CF-4F4B-BD93-0F90E824C405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {4CC1C56C-99CF-4F4B-BD93-0F90E824C405}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {4CC1C56C-99CF-4F4B-BD93-0F90E824C405}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {4CC1C56C-99CF-4F4B-BD93-0F90E824C405}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 ThatCSharpGuy
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/CsSeis/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("CsSeis")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("CsSeis")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("4cc1c56c-99cf-4f4b-bd93-0f90e824c405")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/CsSeis/CsSeis.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {4CC1C56C-99CF-4F4B-BD93-0F90E824C405}
8 | Exe
9 | Properties
10 | CsSeis
11 | CsSeis
12 | v4.5.2
13 | 512
14 | true
15 | 6
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 3
26 | 6
27 |
28 |
29 | AnyCPU
30 | pdbonly
31 | true
32 | bin\Release\
33 | TRACE
34 | prompt
35 | 4
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
63 |
--------------------------------------------------------------------------------
/CsSeis/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using static System.Console; // using static
3 | using static System.Math; // using static
4 |
5 | namespace CsSeis
6 | {
7 | // Ideone http://ideone.com/h7T6f1
8 | class Program
9 | {
10 | static void Main(string[] args)
11 | {
12 | #region using static
13 | Console.WriteLine("using static:");
14 |
15 | // Sin "using static"
16 | var resultado1 = Math.Pow(2, 3);
17 | Console.WriteLine(String.Format("Resultado de resultado1 : {0}", resultado1));
18 |
19 | // C# 6 (¡No olvides agregar los "using static" correspondientes!):
20 | var resultado2 = Pow(2, 3);
21 | WriteLine(String.Format("Resultado de resultado2: {0}", resultado2));
22 |
23 | #endregion
24 |
25 | #region nameof
26 | Console.WriteLine("nameof:");
27 |
28 | // Sin nameof:
29 | WriteLine(String.Format("Resultado de resultado1 : {0}", resultado1));
30 |
31 | // C# 6:
32 | WriteLine(String.Format("Resultado de {1} : {0}", resultado1, nameof(resultado1)));
33 |
34 | #endregion
35 |
36 | #region String interpolation
37 | Console.WriteLine("String interpolation:");
38 |
39 | // Sin "string interpolation"
40 | WriteLine(String.Format("Resultado de {1} : {0}", resultado1, nameof(resultado1)));
41 |
42 | // C# 6:
43 | WriteLine($"Resultado de {nameof(resultado1)} : {resultado1}");
44 |
45 | #endregion
46 |
47 |
48 | #region Auto-property enhancements
49 |
50 | Person defaultPerson = new Person();
51 | Person juanito = new Person("Juan de la Barrera", 19);
52 | juanito.Parent = new Person("Pedro de la Barrera", 54);
53 |
54 | #endregion
55 |
56 | #region Expression bodies on method-like members
57 |
58 | WriteLine(defaultPerson.SayHi());
59 |
60 | WriteLine(juanito.SayHi(defaultPerson.Name));
61 |
62 | #endregion
63 |
64 | #region Null-conditional operators
65 |
66 | // Sin Null-conditional operators:
67 | //string defaultPersonParentName = null;
68 | //if(defaultPerson.Parent != null)
69 | //{
70 | // defaultPersonParentName = defaultPerson.Parent.Name;
71 | //}
72 |
73 | // Con Null-conditional operators en C# 6:
74 | string defaultPersonParentName = defaultPerson.Parent?.Name;
75 |
76 | WriteLine($"Default person parent name: {defaultPersonParentName}");
77 |
78 | int? juanitosParentAge = juanito.Parent?.Age;
79 |
80 | WriteLine($"Juanito's parent age: {juanitosParentAge}");
81 |
82 | var juanitosGrandGrandGrandParent = juanito.Parent?.Parent?.Parent?.Parent;
83 |
84 | #endregion
85 |
86 | Read();
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | build/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 |
25 | # Visual Studo 2015 cache/options directory
26 | .vs/
27 |
28 | # MSTest test Results
29 | [Tt]est[Rr]esult*/
30 | [Bb]uild[Ll]og.*
31 |
32 | # NUNIT
33 | *.VisualState.xml
34 | TestResult.xml
35 |
36 | # Build Results of an ATL Project
37 | [Dd]ebugPS/
38 | [Rr]eleasePS/
39 | dlldata.c
40 |
41 | *_i.c
42 | *_p.c
43 | *_i.h
44 | *.ilk
45 | *.meta
46 | *.obj
47 | *.pch
48 | *.pdb
49 | *.pgc
50 | *.pgd
51 | *.rsp
52 | *.sbr
53 | *.tlb
54 | *.tli
55 | *.tlh
56 | *.tmp
57 | *.tmp_proj
58 | *.log
59 | *.vspscc
60 | *.vssscc
61 | .builds
62 | *.pidb
63 | *.svclog
64 | *.scc
65 |
66 | # Chutzpah Test files
67 | _Chutzpah*
68 |
69 | # Visual C++ cache files
70 | ipch/
71 | *.aps
72 | *.ncb
73 | *.opensdf
74 | *.sdf
75 | *.cachefile
76 |
77 | # Visual Studio profiler
78 | *.psess
79 | *.vsp
80 | *.vspx
81 |
82 | # TFS 2012 Local Workspace
83 | $tf/
84 |
85 | # Guidance Automation Toolkit
86 | *.gpState
87 |
88 | # ReSharper is a .NET coding add-in
89 | _ReSharper*/
90 | *.[Rr]e[Ss]harper
91 | *.DotSettings.user
92 |
93 | # JustCode is a .NET coding addin-in
94 | .JustCode
95 |
96 | # TeamCity is a build add-in
97 | _TeamCity*
98 |
99 | # DotCover is a Code Coverage Tool
100 | *.dotCover
101 |
102 | # NCrunch
103 | _NCrunch_*
104 | .*crunch*.local.xml
105 |
106 | # MightyMoose
107 | *.mm.*
108 | AutoTest.Net/
109 |
110 | # Web workbench (sass)
111 | .sass-cache/
112 |
113 | # Installshield output folder
114 | [Ee]xpress/
115 |
116 | # DocProject is a documentation generator add-in
117 | DocProject/buildhelp/
118 | DocProject/Help/*.HxT
119 | DocProject/Help/*.HxC
120 | DocProject/Help/*.hhc
121 | DocProject/Help/*.hhk
122 | DocProject/Help/*.hhp
123 | DocProject/Help/Html2
124 | DocProject/Help/html
125 |
126 | # Click-Once directory
127 | publish/
128 |
129 | # Publish Web Output
130 | *.[Pp]ublish.xml
131 | *.azurePubxml
132 | # TODO: Comment the next line if you want to checkin your web deploy settings
133 | # but database connection strings (with potential passwords) will be unencrypted
134 | *.pubxml
135 | *.publishproj
136 |
137 | # NuGet Packages
138 | *.nupkg
139 | # The packages folder can be ignored because of Package Restore
140 | **/packages/*
141 | # except build/, which is used as an MSBuild target.
142 | !**/packages/build/
143 | # Uncomment if necessary however generally it will be regenerated when needed
144 | #!**/packages/repositories.config
145 |
146 | # Windows Azure Build Output
147 | csx/
148 | *.build.csdef
149 |
150 | # Windows Store app package directory
151 | AppPackages/
152 |
153 | # Others
154 | *.[Cc]ache
155 | ClientBin/
156 | [Ss]tyle[Cc]op.*
157 | ~$*
158 | *~
159 | *.dbmdl
160 | *.dbproj.schemaview
161 | *.pfx
162 | *.publishsettings
163 | node_modules/
164 | bower_components/
165 |
166 | # RIA/Silverlight projects
167 | Generated_Code/
168 |
169 | # Backup & report files from converting an old project file
170 | # to a newer Visual Studio version. Backup files are not needed,
171 | # because we have git ;-)
172 | _UpgradeReport_Files/
173 | Backup*/
174 | UpgradeLog*.XML
175 | UpgradeLog*.htm
176 |
177 | # SQL Server files
178 | *.mdf
179 | *.ldf
180 |
181 | # Business Intelligence projects
182 | *.rdl.data
183 | *.bim.layout
184 | *.bim_*.settings
185 |
186 | # Microsoft Fakes
187 | FakesAssemblies/
188 |
189 | # Node.js Tools for Visual Studio
190 | .ntvs_analysis.dat
191 |
192 | # Visual Studio 6 build log
193 | *.plg
194 |
195 | # Visual Studio 6 workspace options file
196 | *.opt
197 |
--------------------------------------------------------------------------------