Skip to content

Commit

Permalink
Create Fundamentals section. (dotnet#23464)
Browse files Browse the repository at this point in the history
* Proposed fundamentals TOC

This has a good fundamentals TOC.
Also, add redirections for articles that have moved already.

* replace redirected links

cleanrepo --replace-links

* replace relative links

dleanrepo --relative-links.

* fix warnings with repeated H2s

* Apply suggestions from code review

Co-authored-by: Tom Dykstra <[email protected]>
Co-authored-by: Genevieve Warren <[email protected]>

* respond to feedback

* Apply suggestions from code review

Co-authored-by: Tom Dykstra <[email protected]>

* Update docs/csharp/fundamentals/types/index.md

Co-authored-by: Tom Dykstra <[email protected]>

* Update docs/csharp/fundamentals/types/interfaces.md

Co-authored-by: Tom Dykstra <[email protected]>

* Apply suggestions from code review

Co-authored-by: Tom Dykstra <[email protected]>

* Apply suggestions from code review

Co-authored-by: Tom Dykstra <[email protected]>

* respond to feedback.

Co-authored-by: Tom Dykstra <[email protected]>
Co-authored-by: Genevieve Warren <[email protected]>
  • Loading branch information
3 people authored and Youssef1313 committed Jul 5, 2021
1 parent f6fc018 commit 9d80df3
Show file tree
Hide file tree
Showing 370 changed files with 2,585 additions and 2,713 deletions.
148 changes: 148 additions & 0 deletions .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -875,6 +875,10 @@
"source_path": "docs/core/windows-prerequisites.md",
"redirect_url": "/dotnet/core/install/windows#dependencies"
},
{
"source_path": "docs/csharp/basic-types.md",
"redirect_url": "/dotnet/csharp/fundamentals/types"
},
{
"source_path": "docs/csharp/classes.md",
"redirect_url": "/dotnet/csharp/programming-guide/classes-and-structs/classes"
Expand All @@ -892,10 +896,18 @@
"source_path": "docs/csharp/csharp.md",
"redirect_url": "/dotnet/csharp"
},
{
"source_path": "docs/csharp/deconstruct.md",
"redirect_url": "/dotnet/csharp/fundamentals/functional/deconstruct"
},
{
"source_path": "docs/csharp/delegates-events.md",
"redirect_url": "/dotnet/csharp/delegates-overview"
},
{
"source_path": "docs/csharp/discards.md",
"redirect_url": "/dotnet/csharp/fundamentals/functional/discards"
},
{
"source_path": "docs/csharp/features.md",
"redirect_url": "/dotnet/csharp/programming-guide/concepts"
Expand Down Expand Up @@ -975,6 +987,11 @@
"source_path": "docs/csharp/getting-started/with-visual-studio.md",
"redirect_url": "/dotnet/core/tutorials/with-visual-studio"
},
{
"source_path": "docs/csharp/how-to/safely-cast-using-pattern-matching-is-and-as-operators.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/safely-cast-using-pattern-matching-is-and-as-operators.md"
},

{
"source_path": "docs/csharp/implicitly-typed-lambda-expressions.md",
"redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions"
Expand Down Expand Up @@ -1780,6 +1797,10 @@
"source_path": "docs/csharp/parallel.md",
"redirect_url": "/dotnet/standard/parallel-programming/index"
},
{
"source_path": "docs/csharp/pattern-matching.md",
"redirect_url": "/dotnet/csharp/fundamentals/functional/pattern-matching"
},
{
"source_path": "docs/csharp/programming-guide/arrays/arrays-as-objects.md",
"redirect_url": "/dotnet/csharp/programming-guide/arrays"
Expand All @@ -1788,10 +1809,38 @@
"source_path": "docs/csharp/programming-guide/arrays/passing-arrays-using-ref-and-out.md",
"redirect_url": "/dotnet/csharp/programming-guide/arrays"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/anonymous-types.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/anonymous-types"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/classes.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/classes"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/how-to-access-a-collection-class-with-foreach.md",
"redirect_url": "/dotnet/csharp/language-reference/keywords/foreach-in"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/object-oriented"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/inheritance.md",
"redirect_url": "/dotnet/csharp/fundamentals/object-oriented/inheritance"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/objects.md",
"redirect_url": "/dotnet/csharp/fundamentals/object-oriented/objects"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/polymorphism.md",
"redirect_url": "/dotnet/csharp/fundamentals/object-oriented/polymorphism"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/records.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/records"
},
{
"source_path": "docs/csharp/programming-guide/classes-and-structs/structs.md",
"redirect_url": "/dotnet/csharp/language-reference/builtin-types/struct"
Expand Down Expand Up @@ -2768,9 +2817,44 @@
"source_path": "docs/csharp/programming-guide/events/how-to-use-a-dictionary-to-store-event-instances.md",
"redirect_url": "/dotnet/standard/events/how-to-handle-multiple-events-using-event-properties"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/compiler-generated-exceptions.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/compiler-generated-exceptions"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/creating-and-throwing-exceptions.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/creating-and-throwing-exceptions"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/exception-handling.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/exception-handling"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/how-to-handle-an-exception-using-try-catch.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/how-to-handle-an-exception-using-try-catch"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/how-to-execute-cleanup-code-using-finally.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/how-to-execute-cleanup-code-using-finally"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/how-to-catch-a-non-cls-exception.md",
"redirect_url": "/dotnet/csharp/how-to/how-to-catch-a-non-cls-exception"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions"
},
{
"source_path": "docs/csharp/programming-guide/exceptions/exceptions-and-exception-handling.md",
"redirect_url": "/dotnet/csharp/programming-guide/exceptions/index"
}, {
"source_path": "docs/csharp/programming-guide/exceptions/using-exceptions.md",
"redirect_url": "/dotnet/csharp/fundamentals/exceptions/using-exceptions"
},
{
"source_path": "docs/csharp/programming-guide/inside-a-program/general-structure-of-a-csharp-program.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure"
},
{
"source_path": "docs/csharp/programming-guide/generics/benefits-of-generics.md",
Expand All @@ -2785,14 +2869,30 @@
"source_path": "docs/csharp/programming-guide/generics/generics-in-the-net-framework-class-library.md",
"redirect_url": "/dotnet/standard/generics/index"
},
{
"source_path": "docs/csharp/programming-guide/generics/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/generics"
},
{
"source_path": "docs/csharp/programming-guide/generics/introduction-to-generics.md",
"redirect_url": "/dotnet/standard/generics/index"
},
{
"source_path": "docs/csharp/programming-guide/inside-a-program/coding-conventions.md",
"redirect_url": "/dotnet/csharp/fundamentals/coding-style/coding-conventions"
},
{
"source_path": "docs/csharp/programming-guide/inside-a-program/hello-world-your-first-program.md",
"redirect_url": "/dotnet/csharp/tutorials/intro-to-csharp/hello-world"
},
{
"source_path": "docs/csharp/programming-guide/inside-a-program/identifier-names.md",
"redirect_url": "/dotnet/csharp/fundamentals/coding-style/identifier-names"
},
{
"source_path": "docs/csharp/programming-guide/inside-a-program/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure"
},
{
"source_path": "docs/csharp/programming-guide/interop/interoperability.md",
"redirect_url": "/dotnet/csharp/programming-guide/interop/index"
Expand Down Expand Up @@ -2873,14 +2973,34 @@
"source_path": "docs/csharp/programming-guide/linq-query-expressions/query-expression-basics.md",
"redirect_url": "/dotnet/csharp/linq/query-expression-basics"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/command-line-arguments.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure/main-command-line"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/how-to-access-command-line-arguments-using-foreach.md",
"redirect_url": "/dotnet/csharp/programming-guide/arrays/using-foreach-with-arrays"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/how-to-display-command-line-arguments.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/how-to-display-command-line-arguments"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure/main-command-line"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/main-and-command-line-arguments.md",
"redirect_url": "/dotnet/csharp/programming-guide/main-and-command-args/index"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/main-return-values.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure/main-command-line"
},
{
"source_path": "docs/csharp/programming-guide/main-and-command-args/top-level-statements.md",
"redirect_url": "/dotnet/csharp/fundamentals/program-structure/top-level-statements"
},
{
"source_path": "docs/csharp/programming-guide/namespaces/how-to-use-the-global-namespace-alias.md",
"redirect_url": "/dotnet/csharp/language-reference/operators/namespace-alias-qualifier"
Expand Down Expand Up @@ -2989,6 +3109,18 @@
"source_path": "docs/csharp/programming-guide/types/how-to-safely-cast-using-as-and-is-operators.md",
"redirect_url": "/dotnet/csharp/how-to/safely-cast-using-pattern-matching-is-and-as-operators"
},
{
"source_path": "docs/csharp/programming-guide/interfaces/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/interfaces"
},
{
"source_path": "docs/csharp/programming-guide/namespaces/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/namespaces"
},
{
"source_path": "docs/csharp/programming-guide/types/index.md",
"redirect_url": "/dotnet/csharp/fundamentals/types"
},
{
"source_path": "docs/csharp/programming-guide/unsafe-code-pointers/arithmetic-operations-on-pointers.md",
"redirect_url": "/dotnet/csharp/language-reference/operators/pointer-related-operators#pointer-arithmetic-operators"
Expand Down Expand Up @@ -3248,6 +3380,10 @@
"source_path": "docs/csharp/tutorials/index.md",
"redirect_url": "/dotnet/csharp/tutorials/intro-to-csharp/introduction-to-classes"
},
{
"source_path": "docs/csharp/tutorials/inheritance.md",
"redirect_url": "/dotnet/csharp/fundamentals/object-oriented/inheritance"
},
{
"source_path": "docs/csharp/tutorials/intro-to-csharp/interpolated-strings-local.md",
"redirect_url": "/dotnet/csharp/tutorials/exploration/interpolated-strings-local"
Expand All @@ -3256,10 +3392,22 @@
"source_path": "docs/csharp/tutorials/intro-to-csharp/interpolated-strings.yml",
"redirect_url": "/dotnet/csharp/tutorials/exploration/interpolated-strings"
},
{
"source_path": "docs/csharp/tutorials/intro-to-csharp/introduction-to-classes.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/classes"
},
{
"source_path": "docs/csharp/tutorials/intro-to-csharp/object-oriented-programming.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/oop"
},
{
"source_path": "docs/csharp/tutorials/microservices.md",
"redirect_url": "/dotnet/core/docker/"
},
{
"source_path": "docs/csharp/tutorials/pattern-matching.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/pattern-matching"
},
{
"source_path": "docs/csharp/type-system.md",
"redirect_url": "/dotnet/csharp/programming-guide/types/index"
Expand Down
2 changes: 1 addition & 1 deletion docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,7 @@
"docs/csharp/whats-new/**/**.md": "csharp-whats-new",
"docs/csharp/how-to/**/**.md": "csharp-fundamentals",
"docs/csharp/linq/**/**.md": "csharp-linq",
"docs/csharp/fundamentals/**/**.md": "csharp-fundamentals",
"docs/csharp/programming-guide/main-and-command-args/**/**.md": "csharp-fundamentals",
"docs/csharp/programming-guide/indexers/**/**.md": "csharp-fundamentals",
"docs/csharp/programming-guide/generics/**/**.md": "csharp-fundamentals",
Expand All @@ -452,7 +453,6 @@
"docs/csharp/programming-guide/events/**/**.md": "csharp-fundamentals",
"docs/csharp/programming-guide/inside-a-program/**/**.md": "csharp-get-started",
"docs/csharp/programming-guide/interfaces/**/**.md": "csharp-fundamentals",
"docs/csharp/getting-started/**/**.md": "csharp-get-started",
"docs/csharp/tutorials/**/**.md": "csharp-fundamentals",
"docs/csharp/tutorials/exploration/**/**.md": "csharp-get-started",
"docs/csharp/tutorials/intro-to-csharp/**/**.md": "csharp-get-started",
Expand Down
13 changes: 10 additions & 3 deletions docs/breadcrumb/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -318,12 +318,19 @@ items:
- name: Tutorials
tocHref: /dotnet/csharp/tour-of-csharp/tutorials/
topicHref: /dotnet/csharp/tour-of-csharp/tutorials/index
- name: Tutorials
tocHref: /dotnet/csharp/tutorials/
topicHref: /dotnet/csharp/tutorials/index
- name: Fundamentals
tocHref: /dotnet/csharp/fundamentals/
topicHref: /dotnet/csharp/fundamentals/type-system/index
- name: What's new
tocHref: /dotnet/csharp/whats-new/
topicHref: /dotnet/csharp/whats-new/index
items:
- name: Tutorials
tocHref: /dotnet/csharp/whats-new/tutorials/
topicHref: /dotnet/csharp/whats-new/tutorials/records
- name: Tutorials
tocHref: /dotnet/csharp/tutorials/
topicHref: /dotnet/csharp/tutorials/index
- name: .NET Compiler Platform SDK
tocHref: /dotnet/csharp/roslyn-sdk/
topicHref: /dotnet/csharp/roslyn-sdk/index
Expand Down
2 changes: 1 addition & 1 deletion docs/core/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ For more information, see [Releases and support for .NET Core and .NET 5](releas
Here are some of the capabilities that .NET languages support:

* [Type safety](../standard/base-types/common-type-system.md)
* Type inference - [C#](../csharp/programming-guide/types/index.md#specifying-types-in-variable-declarations), [F#](../fsharp/language-reference/type-inference.md), [Visual Basic](../visual-basic/programming-guide/language-features/variables/local-type-inference.md)
* Type inference - [C#](../csharp/fundamentals/types/index.md#specifying-types-in-variable-declarations), [F#](../fsharp/language-reference/type-inference.md), [Visual Basic](../visual-basic/programming-guide/language-features/variables/local-type-inference.md)
* [Generic types](../standard/generics.md)
* [Delegates](../standard/delegates-lambdas.md)
* [Lambdas](../standard/delegates-lambdas.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/core/whats-new/dotnet-core-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Tutorials related to C# 8.0 language features:

- [Tutorial: Express your design intent more clearly with nullable and non-nullable reference types](../../csharp/whats-new/tutorials/nullable-reference-types.md)
- [Tutorial: Generate and consume async streams using C# 8.0 and .NET Core 3.0](../../csharp/whats-new/tutorials/generate-consume-asynchronous-stream.md)
- [Tutorial: Use pattern matching to build type-driven and data-driven algorithms](../../csharp/tutorials/pattern-matching.md)
- [Tutorial: Use pattern matching to build type-driven and data-driven algorithms](../../csharp/fundamentals/tutorials/pattern-matching.md)

Language enhancements were added to support the following API features detailed below:

Expand Down
Loading

0 comments on commit 9d80df3

Please sign in to comment.