Compare commits
7 Commits
73bf46712d
...
master
Author | SHA1 | Date |
---|---|---|
jason.zhu | ea26766337 | |
jason.zhu | 066f46a48c | |
jason.zhu | e0d20ef793 | |
jason.zhu | 7756047de1 | |
jason.zhu | 7ac104a924 | |
jason.zhu | ced8f125ee | |
jason.zhu | e6a2c62da6 |
|
@ -1,7 +1,7 @@
|
|||
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
|
||||
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,dotnetcore,executable,linux,macos,visualstudio
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,dotnetcore,executable,linux,macos,visualstudio
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,visualstudio,macos,linux,executable,dotnetcore,jetbrains+all
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,visualstudio,macos,linux,executable,dotnetcore,jetbrains+all
|
||||
|
||||
### DotnetCore ###
|
||||
# .NET Core build folders
|
||||
|
@ -24,6 +24,95 @@ obj/
|
|||
*.vb
|
||||
*.wsf
|
||||
|
||||
### JetBrains+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### JetBrains+all Patch ###
|
||||
# Ignores the whole .idea folder and all .iml files
|
||||
# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
|
||||
|
||||
.idea/
|
||||
|
||||
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
|
||||
|
||||
*.iml
|
||||
modules.xml
|
||||
.idea/misc.xml
|
||||
*.ipr
|
||||
|
||||
# Sonarlint plugin
|
||||
.idea/sonarlint
|
||||
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
|
@ -458,7 +547,7 @@ MigrationBackup/
|
|||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,dotnetcore,executable,linux,macos,visualstudio
|
||||
# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,visualstudio,macos,linux,executable,dotnetcore,jetbrains+all
|
||||
|
||||
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
namespace Features
|
||||
{
|
||||
public class Employee
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,20 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Features
|
||||
{
|
||||
public static class MyLinq
|
||||
{
|
||||
// Implement a customized LINQ using extension
|
||||
public static int MyLinqCount<T>(this IEnumerable<T> sequence)
|
||||
{
|
||||
// Any IEnumerable<T> instance can use this method now as extension
|
||||
int count = 0;
|
||||
foreach (var item in sequence)
|
||||
{
|
||||
count += 1;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection.Metadata;
|
||||
|
||||
namespace Features
|
||||
{
|
||||
class Program
|
||||
{
|
||||
// Modelling a company in this project
|
||||
static void Main(string[] args)
|
||||
{
|
||||
/* Generic Delegate & Lambda Expression */
|
||||
Func<int, int> square = x => x*x;// Define a generic delegate functions named square for square operation
|
||||
Func<int, int, int> add = (x, y) =>
|
||||
{
|
||||
int temp = x + y;
|
||||
return temp;
|
||||
};
|
||||
|
||||
Action<int> write = x => Console.WriteLine(x);
|
||||
write(square(add(3, 5)));
|
||||
|
||||
/* LINQ & C# */
|
||||
|
||||
IEnumerable<Employee> developers = new Employee[]
|
||||
{
|
||||
new Employee {Id = 1, Name = "Scott"},
|
||||
new Employee {Id = 2, Name = "Chris"}
|
||||
};
|
||||
|
||||
List<Employee> sales = new List<Employee>()
|
||||
{
|
||||
new Employee {Id = 3, Name = "Alex"}
|
||||
};
|
||||
|
||||
Console.WriteLine(sales.MyLinqCount());
|
||||
|
||||
var enumerator = developers.GetEnumerator();
|
||||
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
Console.WriteLine(enumerator.Current.Name); // .Current return value of current enumerator
|
||||
}
|
||||
|
||||
foreach (var person in developers)
|
||||
{
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
foreach (var employee in developers
|
||||
.Where(e => e.Name.Length == 5)
|
||||
.OrderBy(e => e.Name))
|
||||
{
|
||||
Console.WriteLine(employee.Name);
|
||||
}
|
||||
|
||||
// LINQ (Method syntax)
|
||||
var query = developers.Where(e => e.Name.Length == 5)
|
||||
.OrderBy(e => e.Name);
|
||||
|
||||
// LINQ (Query syntax)
|
||||
var query2 = from developer in developers
|
||||
where developer.Name.Length == 5
|
||||
orderby developer.Name descending
|
||||
select developer;
|
||||
|
||||
foreach (var employee in query)
|
||||
{
|
||||
Console.WriteLine(employee.Name);
|
||||
}
|
||||
|
||||
foreach (var employee in query2)
|
||||
{
|
||||
Console.WriteLine(employee.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30907.101
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Introduction", "Introduction\Introduction.csproj", "{53450129-90CC-4C40-BDB3-295F60669012}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{53450129-90CC-4C40-BDB3-295F60669012}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{53450129-90CC-4C40-BDB3-295F60669012}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{53450129-90CC-4C40-BDB3-295F60669012}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{53450129-90CC-4C40-BDB3-295F60669012}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {3A6B85BA-05FF-44DA-B35D-12FDDCF35AC7}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26124.0
|
||||
MinimumVisualStudioVersion = 15.0.26124.0
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Introduction", "Introduction\Introduction.csproj", "{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Features", "Features\Features.csproj", "{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|x64.Build.0 = Release|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{AF71FD32-411A-42CD-A69F-DA60FB8E21A9}.Release|x86.Build.0 = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|x64.Build.0 = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{94C9EE4C-0609-464B-9BFF-BA3EED2A7263}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Loading…
Reference in New Issue