diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index c7a967aaf4a6a..84cd4bf1fc0f8 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -1,2874 +1,2878 @@ { - "redirections": [ + "redirections": [ + { + "source_path_from_root": "/docs/csharp/fundamentals/types/namespaces.md", + "redirect_url": "/dotnet/csharp/fundamentals/program-structure/namespaces" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0080.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0081.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0305.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0306.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0307.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0308.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0312.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0313.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0314.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0315.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0401.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0403.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0405.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, { - "source_path_from_root": "/docs/csharp/misc/cs0080.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/misc/cs0407.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0412.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0449.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0450.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0451.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0454.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0455.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0694.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0695.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0698.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0706.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0717.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0104.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0104" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0434.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0434" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0435.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0435" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0436.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0436" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0437.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0437" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0438.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0438" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1022.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs1022" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0304.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0310.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0311.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0413.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0417.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, { - "source_path_from_root": "/docs/csharp/misc/cs0081.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0467.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0702.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0703.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/binary-literals.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/digit-separators.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/local-functions.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/statements#1364-local-function-declarations" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/throw-expression.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1215-the-throw-expression-operator" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/out-var.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1217-declaration-expressions" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/pattern-matching.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.0/task-types.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#15152-task-type-builder-pattern" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.1/async-main.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/basic-concepts#71-application-startup" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.1/target-typed-default.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12719-default-value-expressions" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.1/infer-tuple-names.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#8311-tuple-types" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.1/generics-pattern-match.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/conditional-ref.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1219-conditional-operator" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/non-trailing-named-arguments.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12621-general" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/private-protected.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#1536-access-modifiers" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/readonly-ref.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/readonly-struct.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/structs#1624-struct-interfaces" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.2/span-safety.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/auto-prop-field-attrs.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/attributes#223-attribute-specification" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/blittable.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#1525-type-parameter-constraints" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/expression-variables-in-initializers.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1217-declaration-expressions" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/improved-overload-candidates.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12642-applicable-function-member" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/indexing-movable-fixed-fields.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#2383-fixed-size-buffers-in-expressions" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/leading-digit-separator.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/pattern-based-fixed.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#247-the-fixed-statement" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/ref-local-reassignment.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/stackalloc-array-initializers.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12821-stack-allocation" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-7.3/tuple-equality.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#121211-tuple-equality-operators" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" + }, + { + "source_path_from_root": "/redirections/proposals/csharp-10.0/generic-attributes.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-11.0/generic-attributes" + }, + { + "source_path_from_root": "/docs/csharp/async.md", + "redirect_url": "/dotnet/csharp/asynchronous-programming" + }, + { + "source_path_from_root": "/docs/csharp/basic-types.md", + "redirect_url": "/dotnet/csharp/fundamentals/types" + }, + { + "source_path_from_root": "/docs/csharp/classes.md", + "redirect_url": "/dotnet/csharp/fundamentals/types/classes" + }, + { + "source_path_from_root": "/docs/csharp/codedoc.md", + "redirect_url": "/dotnet/csharp/language-reference/xmldoc/recommended-tags" + }, + { + "source_path_from_root": "/docs/csharp/csharp-6.md", + "redirect_url": "/dotnet/csharp/whats-new/csharp-version-history#c-version-60" + }, + { + "source_path_from_root": "/docs/csharp/csharp-7.md", + "redirect_url": "/dotnet/csharp/whats-new/csharp-version-history#c-version-70" + }, + { + "source_path_from_root": "/docs/csharp/csharp.md", + "redirect_url": "/dotnet/csharp" + }, + { + "source_path_from_root": "/docs/csharp/deconstruct.md", + "redirect_url": "/dotnet/csharp/fundamentals/functional/deconstruct" + }, + { + "source_path_from_root": "/docs/csharp/delegates-events.md", + "redirect_url": "/dotnet/csharp/delegates-overview" + }, + { + "source_path_from_root": "/docs/csharp/discards.md", + "redirect_url": "/dotnet/csharp/fundamentals/functional/discards" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees" + }, + { + "source_path_from_root": "/docs/csharp/expression-classes.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-classes" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-building.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-building" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-explained.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-explained" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-execution.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-execution" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-interpreting.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-interpreting" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-summary.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees" + }, + { + "source_path_from_root": "/docs/csharp/expression-trees-translating.md", + "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-translating" + }, + { + "source_path_from_root": "/docs/csharp/features.md", + "redirect_url": "/dotnet/csharp/programming-guide/concepts" + }, + { + "source_path_from_root": "/docs/csharp/generics.md", + "redirect_url": "/dotnet/csharp/fundamentals/types/generics" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/additional-resources.md", + "redirect_url": "/dotnet/csharp/tour-of-csharp" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/breaking-changes-in-visual-studio-2013.md", + "redirect_url": "/previous-versions/visualstudio/visual-studio-2013/hh678682(v=vs.120)" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/consuming-library-with-visual-studio-2017.md", + "redirect_url": "/nuget/quickstart/install-and-use-a-package-in-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/consuming-library-with-visual-studio.md", + "redirect_url": "/nuget/quickstart/install-and-use-a-package-in-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/debugging-with-visual-studio-2017.md", + "redirect_url": "/dotnet/core/tutorials/debugging-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/debugging-with-visual-studio.md", + "redirect_url": "/dotnet/core/tutorials/debugging-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/getting-started-with-csharp.md", + "redirect_url": "/dotnet/csharp/tour-of-csharp" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/index.md", + "redirect_url": "/dotnet/csharp/tour-of-csharp" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/library-with-visual-studio-2017.md", + "redirect_url": "/dotnet/core/tutorials/library-with-visual-studio", + "redirect_document_id": true + }, + { + "source_path_from_root": "/docs/csharp/getting-started/library-with-visual-studio.md", + "redirect_url": "/dotnet/core/tutorials/library-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/publishing-with-visual-studio-2017.md", + "redirect_url": "/dotnet/core/tutorials/publishing-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/publishing-with-visual-studio.md", + "redirect_url": "/dotnet/core/tutorials/publishing-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/testing-library-with-visual-studio.md", + "redirect_url": "/dotnet/core/tutorials/testing-library-with-visual-studio" + }, + { + "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio-2017.md", + "redirect_url": "/dotnet/core/tutorials/with-visual-studio", + "redirect_document_id": true + }, + { + "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio-code.md", + "redirect_url": "/dotnet/core/tutorials/with-visual-studio-code", + "redirect_document_id": true + }, + { + "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio.md", + "redirect_url": "/dotnet/core/tutorials/with-visual-studio" + }, + { + "source_path_from_root": "/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" + }, + { + "source_path_from_root": "/docs/csharp/implicitly-typed-lambda-expressions.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/indexers.md", + "redirect_url": "/dotnet/csharp/programming-guide/indexers" + }, + { + "source_path_from_root": "/docs/csharp/interactive-with-bash.md", + "redirect_url": "/dotnet/csharp/index" + }, + { + "source_path_from_root": "/docs/csharp/interactive-with-powershell.md", + "redirect_url": "/dotnet/csharp/index" + }, + { + "source_path_from_root": "/docs/csharp/interactive-with-visualstudio.md", + "redirect_url": "/dotnet/csharp/index" + }, + { + "source_path_from_root": "/docs/csharp/interactive.md", + "redirect_url": "/dotnet/csharp/index" + }, + { + "source_path_from_root": "/docs/csharp/interfaces.md", + "redirect_url": "/dotnet/csharp/fundamentals/types/interfaces" + }, + { + "source_path_from_root": "/docs/csharp/interop.md", + "redirect_url": "/dotnet/csharp/advanced-topics/interop/index" + }, + { + "source_path_from_root": "/docs/csharp/lambda-expressions.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/builtin-types/nint-nuint.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types#native-sized-integers" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0034.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0071.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0106.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0116.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0116" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0277.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0178.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0181.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0188.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0233.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0234.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0246.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0260.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0270.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0518.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0518" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0545.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0552.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0563.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0571.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0579.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0592.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0616.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0650.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0686.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0736.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0737.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0738.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0767.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0826.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0834.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0840.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0843.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0845.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0846.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0854.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1009.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1018.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1019.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1029.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1063.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, { - "source_path_from_root": "/docs/csharp/misc/cs0305.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1065.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0306.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1067.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0307.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1112.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs0308.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1501.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" }, { - "source_path_from_root": "/docs/csharp/misc/cs0312.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1502.md", + "redirect_url": "/dotnet/csharp/misc/cs1503" }, { - "source_path_from_root": "/docs/csharp/misc/cs0313.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1614.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0314.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1656.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0315.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1683.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" }, { - "source_path_from_root": "/docs/csharp/misc/cs0401.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1708.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0403.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1716.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0405.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1919.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0407.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1691.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0412.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1704.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" }, { - "source_path_from_root": "/docs/csharp/misc/cs0449.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1739.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" }, { - "source_path_from_root": "/docs/csharp/misc/cs0450.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1740.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" }, { - "source_path_from_root": "/docs/csharp/misc/cs0451.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1741.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0454.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1742.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" }, { - "source_path_from_root": "/docs/csharp/misc/cs0455.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1751.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" }, { - "source_path_from_root": "/docs/csharp/misc/cs0694.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1921.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0695.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1946.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" }, { - "source_path_from_root": "/docs/csharp/misc/cs0698.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1983.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0706.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1986.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0717.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1994.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0104.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0104" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1996.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0434.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0434" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1997.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0435.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0435" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1988.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0436.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0436" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4004.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0437.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0437" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4008.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs0438.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0438" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4014.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1022.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs1022" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4032.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0304.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4033.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0310.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/misc/CS4009.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0311.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs3007.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0413.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4013.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0417.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs7000.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0467.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8145.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0702.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8153.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#conversion-to-expression-trees" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0703.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/generic-type-parameters-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8154.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/binary-literals.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8155.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#conversion-to-expression-trees" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/digit-separators.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8166.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/local-functions.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/statements#1364-local-function-declarations" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8167.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/throw-expression.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1215-the-throw-expression-operator" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8168.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/out-var.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1217-declaration-expressions" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8169.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/pattern-matching.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8175.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.0/task-types.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#15152-task-type-builder-pattern" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8176.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.1/async-main.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/basic-concepts#71-application-startup" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8177.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.1/target-typed-default.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12719-default-value-expressions" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8178.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.1/infer-tuple-names.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#8311-tuple-types" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8373.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.1/generics-pattern-match.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8374.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/conditional-ref.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1219-conditional-operator" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8400.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/non-trailing-named-arguments.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12621-general" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8401.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/private-protected.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#1536-access-modifiers" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8403.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/readonly-ref.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8410.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/readonly-struct.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/structs#1624-struct-interfaces" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8411.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.2/span-safety.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8417.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/auto-prop-field-attrs.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/attributes#223-attribute-specification" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8418.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/blittable.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/classes#1525-type-parameter-constraints" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8647.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/expression-variables-in-initializers.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#1217-declaration-expressions" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8648.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/improved-overload-candidates.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12642-applicable-function-member" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8649.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/indexing-movable-fixed-fields.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#2383-fixed-size-buffers-in-expressions" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8795.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/leading-digit-separator.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/lexical-structure#6453-integer-literals" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8812.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/pattern-based-fixed.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/unsafe-code#247-the-fixed-statement" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8817.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/ref-local-reassignment.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#97-reference-variables-and-returns" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8892.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8892" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/stackalloc-array-initializers.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#12821-stack-allocation" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8964.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" }, { - "source_path_from_root": "/redirections/proposals/csharp-7.3/tuple-equality.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/expressions#121211-tuple-equality-operators" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs9036.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs9050.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-struct-errors" }, { - "source_path_from_root": "/redirections/proposals/csharp-10.0/generic-attributes.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-11.0/generic-attributes" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/addmodule-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" }, { - "source_path_from_root": "/docs/csharp/async.md", - "redirect_url": "/dotnet/csharp/asynchronous-programming" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/app-deployment.md", + "redirect_url": "/dotnet/framework/deployment/deployment-guide-for-developers" }, { - "source_path_from_root": "/docs/csharp/basic-types.md", - "redirect_url": "/dotnet/csharp/fundamentals/types" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/appconfig-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/classes.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/classes" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/codedoc.md", - "redirect_url": "/dotnet/csharp/language-reference/xmldoc/recommended-tags" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/bugreport-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/csharp-6.md", - "redirect_url": "/dotnet/csharp/whats-new/csharp-version-history#c-version-60" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/checked-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" }, { - "source_path_from_root": "/docs/csharp/csharp-7.md", - "redirect_url": "/dotnet/csharp/whats-new/csharp-version-history#c-version-70" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/codepage-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/csharp.md", - "redirect_url": "/dotnet/csharp" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/deconstruct.md", - "redirect_url": "/dotnet/csharp/fundamentals/functional/deconstruct" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/debug-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" }, { - "source_path_from_root": "/docs/csharp/delegates-events.md", - "redirect_url": "/dotnet/csharp/delegates-overview" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/define-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" }, { - "source_path_from_root": "/docs/csharp/discards.md", - "redirect_url": "/dotnet/csharp/fundamentals/functional/discards" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/delaysign-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" }, { - "source_path_from_root": "/docs/csharp/expression-trees.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/deterministic-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" }, { - "source_path_from_root": "/docs/csharp/expression-classes.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-classes" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/doc-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/expression-trees-building.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-building" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/errorreport-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/expression-trees-explained.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-explained" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/filealign-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/expression-trees-execution.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-execution" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/fullpaths-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/expression-trees-interpreting.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-interpreting" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/help-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" }, { - "source_path_from_root": "/docs/csharp/expression-trees-summary.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/highentropyva-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" }, { - "source_path_from_root": "/docs/csharp/expression-trees-translating.md", - "redirect_url": "/dotnet/csharp/advanced-topics/expression-trees/expression-trees-translating" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/how-to-set-environment-variables-for-the-visual-studio-command-line.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/features.md", - "redirect_url": "/dotnet/csharp/programming-guide/concepts" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/keycontainer-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" }, { - "source_path_from_root": "/docs/csharp/generics.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/generics" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/keyfile-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" }, { - "source_path_from_root": "/docs/csharp/getting-started/additional-resources.md", - "redirect_url": "/dotnet/csharp/tour-of-csharp" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/langversion-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" }, { - "source_path_from_root": "/docs/csharp/getting-started/breaking-changes-in-visual-studio-2013.md", - "redirect_url": "/previous-versions/visualstudio/visual-studio-2013/hh678682(v=vs.120)" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/lib-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/getting-started/consuming-library-with-visual-studio-2017.md", - "redirect_url": "/nuget/quickstart/install-and-use-a-package-in-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/link-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" }, { - "source_path_from_root": "/docs/csharp/getting-started/consuming-library-with-visual-studio.md", - "redirect_url": "/nuget/quickstart/install-and-use-a-package-in-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/linkresource-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" }, { - "source_path_from_root": "/docs/csharp/getting-started/debugging-with-visual-studio-2017.md", - "redirect_url": "/dotnet/core/tutorials/debugging-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/listed-alphabetically.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/getting-started/debugging-with-visual-studio.md", - "redirect_url": "/dotnet/core/tutorials/debugging-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/listed-by-category.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/getting-started/getting-started-with-csharp.md", - "redirect_url": "/dotnet/csharp/tour-of-csharp" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/main-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/getting-started/index.md", - "redirect_url": "/dotnet/csharp/tour-of-csharp" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/moduleassemblyname-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/getting-started/library-with-visual-studio-2017.md", - "redirect_url": "/dotnet/core/tutorials/library-with-visual-studio", - "redirect_document_id": true + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/noconfig-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" }, { - "source_path_from_root": "/docs/csharp/getting-started/library-with-visual-studio.md", - "redirect_url": "/dotnet/core/tutorials/library-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nologo-file-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" }, { - "source_path_from_root": "/docs/csharp/getting-started/publishing-with-visual-studio-2017.md", - "redirect_url": "/dotnet/core/tutorials/publishing-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nostdlib-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/getting-started/publishing-with-visual-studio.md", - "redirect_url": "/dotnet/core/tutorials/publishing-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nowarn-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" }, { - "source_path_from_root": "/docs/csharp/getting-started/testing-library-with-visual-studio.md", - "redirect_url": "/dotnet/core/tutorials/testing-library-with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nowin32manifest-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" }, { - "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio-2017.md", - "redirect_url": "/dotnet/core/tutorials/with-visual-studio", - "redirect_document_id": true + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nullable-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" }, { - "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio-code.md", - "redirect_url": "/dotnet/core/tutorials/with-visual-studio-code", - "redirect_document_id": true + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/optimize-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" }, { - "source_path_from_root": "/docs/csharp/getting-started/with-visual-studio.md", - "redirect_url": "/dotnet/core/tutorials/with-visual-studio" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/out-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/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" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/pathmap-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/implicitly-typed-lambda-expressions.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/pdb-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/indexers.md", - "redirect_url": "/dotnet/csharp/programming-guide/indexers" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/platform-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/interactive-with-bash.md", - "redirect_url": "/dotnet/csharp/index" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/preferreduilang-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/interactive-with-powershell.md", - "redirect_url": "/dotnet/csharp/index" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/publicsign-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" }, { - "source_path_from_root": "/docs/csharp/interactive-with-visualstudio.md", - "redirect_url": "/dotnet/csharp/index" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/recurse-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options" }, { - "source_path_from_root": "/docs/csharp/interactive.md", - "redirect_url": "/dotnet/csharp/index" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/reference-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" }, { - "source_path_from_root": "/docs/csharp/interfaces.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/interfaces" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/refonly-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" }, { - "source_path_from_root": "/docs/csharp/interop.md", - "redirect_url": "/dotnet/csharp/advanced-topics/interop/index" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/refout-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/lambda-expressions.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" - }, + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/resource-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" + }, { - "source_path_from_root": "/docs/csharp/language-reference/builtin-types/nint-nuint.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types#native-sized-integers" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/response-file-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0034.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/subsystemversion-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0071.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-appcontainerexe-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0106.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0116.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0116" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-exe-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/misc/cs0277.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-library-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0178.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-module-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0181.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-winexe-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0188.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-winmdobj-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0233.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/unsafe-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0234.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/utf8output-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0246.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/warn-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0260.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/warnaserror-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0270.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32icon-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0518.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0518" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32manifest-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0545.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32res-compiler-option.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0552.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/access-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/base" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0563.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/as.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast#the-as-operator" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0571.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/await.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/await" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0579.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/bool.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0592.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/break.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0616.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/built-in-types-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/built-in-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0650.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/byte.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0686.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/char.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/char" }, { - "source_path_from_root": "/docs/csharp/misc/cs0736.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/checked.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" }, { - "source_path_from_root": "/docs/csharp/misc/cs0737.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/checked-and-unchecked.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" }, { - "source_path_from_root": "/docs/csharp/misc/cs0738.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/continue.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0767.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/contextual-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/index#contextual-keywords" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0826.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/conversion-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0834.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/keywords/decimal.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0840.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/default-values-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/default-values" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0843.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/delegate.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0845.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/keywords/do.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0846.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/double.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0854.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/keywords/dynamic.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1009.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + "source_path_from_root": "/docs/csharp/language-reference/keywords/enum.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/enum" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1018.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + "source_path_from_root": "/docs/csharp/language-reference/keywords/exception-handling-statements.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/statement-keywords" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1019.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/language-reference/keywords/explicit-numeric-conversions-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/numeric-conversions" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1029.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/explicit.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1063.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/false-literal.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1065.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/false-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1067.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" + "source_path_from_root": "/docs/csharp/language-reference/keywords/false.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1112.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/language-reference/keywords/fixed-statement.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/fixed" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1501.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/language-reference/keywords/float.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1502.md", - "redirect_url": "/dotnet/csharp/misc/cs1503" + "source_path_from_root": "/docs/csharp/language-reference/keywords/floating-point-types-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1614.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/for.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1656.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/foreach-in.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1683.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + "source_path_from_root": "/docs/csharp/language-reference/keywords/formatting-numeric-results-table.md", + "redirect_url": "/dotnet/standard/base-types/standard-numeric-format-strings" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1708.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/global.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/namespace-alias-qualifier" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1716.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/goto.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1919.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/if-else.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1691.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/implicit-numeric-conversions-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/numeric-conversions" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1704.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + "source_path_from_root": "/docs/csharp/language-reference/keywords/implicit.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1739.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/keywords/in-parameter-modifier.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#in-parameter-modifier" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1740.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/keywords/int.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1741.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/integral-types-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1742.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/keywords/interpolated-strings.md", + "redirect_url": "/dotnet/csharp/language-reference/tokens/interpolated" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1751.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/language-reference/keywords/is.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/is" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1921.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/iteration-statements.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1946.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/keywords/jump-statements.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/statement-keywords" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1983.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/literal-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/null" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1986.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/lock-statement.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/lock" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1994.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/long.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1996.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/modifiers.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1997.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/nameof.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/nameof" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1988.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/namespace-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/namespace" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4004.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/new-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/new-operator" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4008.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/object.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4014.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/operator-keywords.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/index" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4032.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/operator-overloading" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4033.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/out-parameter-modifier.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#out-parameter-modifier" }, { - "source_path_from_root": "/docs/csharp/misc/CS4009.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/params.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#params-modifier" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs3007.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/partial-method.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/partial-member", + "redirect_document_id": true }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs4013.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/language-reference/keywords/reference-tables-for-types.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs7000.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8145.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8153.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#conversion-to-expression-trees" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8154.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8155.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#conversion-to-expression-trees" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8166.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8167.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8168.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8169.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8175.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8176.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8177.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8178.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8373.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8374.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8400.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8401.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8403.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8410.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8411.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8417.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8418.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8647.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8648.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8649.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8795.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8812.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8817.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8892.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8892" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8964.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs9036.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs9050.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-struct-errors" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/addmodule-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/app-deployment.md", - "redirect_url": "/dotnet/framework/deployment/deployment-guide-for-developers" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/appconfig-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/bugreport-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/checked-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/codepage-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/debug-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/define-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/delaysign-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/deterministic-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/doc-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/errorreport-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/filealign-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/fullpaths-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/help-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/highentropyva-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/how-to-set-environment-variables-for-the-visual-studio-command-line.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/keycontainer-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/keyfile-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/langversion-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/lib-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/link-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/linkresource-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/listed-alphabetically.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/listed-by-category.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/main-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/moduleassemblyname-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/noconfig-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nologo-file-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nostdlib-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nowarn-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nowin32manifest-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/nullable-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/optimize-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/out-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/pathmap-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/pdb-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/platform-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/preferreduilang-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/publicsign-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/security" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/recurse-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/reference-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/inputs" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/refonly-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/code-generation" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/refout-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/resource-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/response-file-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/miscellaneous" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/subsystemversion-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-appcontainerexe-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-exe-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-library-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-module-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-winexe-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/target-winmdobj-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/output" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/unsafe-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/language" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/utf8output-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/advanced" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/warn-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/warnaserror-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/errors-warnings" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32icon-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32manifest-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/compiler-options/win32res-compiler-option.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-options/resources" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/access-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/base" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/as.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast#the-as-operator" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/await.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/await" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/bool.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/break.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/built-in-types-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/built-in-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/byte.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/char.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/char" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/checked.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/checked-and-unchecked.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/continue.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/contextual-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/index#contextual-keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/conversion-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/decimal.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/default-values-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/default-values" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/delegate.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/do.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/double.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/dynamic.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/enum.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/enum" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/exception-handling-statements.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/statement-keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/explicit-numeric-conversions-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/numeric-conversions" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/explicit.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/false-literal.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/false-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/false.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/fixed-statement.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/fixed" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/float.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/floating-point-types-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/for.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/foreach-in.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/formatting-numeric-results-table.md", - "redirect_url": "/dotnet/standard/base-types/standard-numeric-format-strings" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/global.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/namespace-alias-qualifier" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/goto.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/if-else.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/implicit-numeric-conversions-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/numeric-conversions" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/implicit.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/user-defined-conversion-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/in-parameter-modifier.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#in-parameter-modifier" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/int.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/integral-types-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/interpolated-strings.md", - "redirect_url": "/dotnet/csharp/language-reference/tokens/interpolated" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/is.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/is" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/iteration-statements.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/jump-statements.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/statement-keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/literal-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/null" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/lock-statement.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/lock" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/long.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/modifiers.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/nameof.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/nameof" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/namespace-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/namespace" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/new-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/new-operator" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/object.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/operator-keywords.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/index" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/operator-overloading" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/out-parameter-modifier.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#out-parameter-modifier" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/params.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/method-parameters#params-modifier" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/partial-method.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/partial-member", - "redirect_document_id": true - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/reference-tables-for-types.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/return.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/sbyte.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/selection-statements.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/short.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/sizeof.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/sizeof" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/stackalloc.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/stackalloc" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/string.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/struct.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/struct" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/switch.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/throw.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/true-false-operators.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/true-literal.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/true-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/true.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/try-catch.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/try-catch-finally.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/try-finally.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/typeof.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast#the-typeof-operator" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/types.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/uint.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/ulong.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/unchecked.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/ushort.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/using-statement.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/using" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/using-static.md", - "redirect_url": "/dotnet/csharp/language-reference/keywords/using-directive" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/value-types-table.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/value-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/value-types.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/value-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/var.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/declarations#implicitly-typed-local-variables" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/void.md", - "redirect_url": "/dotnet/csharp/language-reference/builtin-types/void" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/while.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/keywords/yield.md", - "redirect_url": "/dotnet/csharp/language-reference/statements/yield" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/language-specification/index.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/introduction" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/addition-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/and-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/and-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-and-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/bitwise-complement-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#bitwise-complement-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/conditional-and-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#conditional-logical-and-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/conditional-or-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#conditional-logical-or-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/decrement-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#decrement-operator---" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/dereference-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/pointer-related-operators#pointer-member-access-operator--" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/division-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/division-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#division-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/equality-comparison-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/equality-operators#equality-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/greater-than-equal-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#greater-than-or-equal-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/greater-than-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#greater-than-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/increment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#increment-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/index-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#indexer-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/invocation-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#invocation-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/left-shift-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/left-shift-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#left-shift-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/less-than-equal-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#less-than-or-equal-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/less-than-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#less-than-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/logical-negation-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-negation-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/member-access-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#member-access-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/modulus-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/modulus-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#remainder-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/multiplication-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/multiplication-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#multiplication-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/namespace-alias-qualifer.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/namespace-alias-qualifier" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/not-equal-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/equality-operators#inequality-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/null-conditional-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/null-coalescing-operator" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/null-conditional-operators.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/or-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/or-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-or-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/remainder-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/remainder-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#remainder-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/right-shift-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/right-shift-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#right-shift-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/null-parameter-check.md", - "redirect_url": "/dotnet/csharp/language-reference/operators" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/subtraction-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/type-testing-and-conversion-operators.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/xor-assignment-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/operators/xor-operator.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-exclusive-or-operator-" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/index.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives", - "redirect_document_id": true - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-define.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-elif.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-else.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-endif.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-endregion.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-error.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-if.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-line.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-nullable.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma-checksum.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma-warning.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-region.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-undef.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-warning.md", - "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-10.0/lambda-attributes.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-10.0/lambda-improvements" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.0/index.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/readme" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.1/index.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/readme" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.2/index.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#928-input-parameters" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.3/index.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-7.3/ref-local-reassignment" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-reference-types-specification.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-constructor-analysis.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-parameter-default-value-analysis.md", - "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/index.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-9.0/records" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-10.0/index.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-10.0/record-structs" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-11.0/index.md", - "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-11.0/static-abstracts-in-interfaces" - }, - { - "source_path_from_root": "/docs/csharp/language-reference/specifications.md", - "redirect_url": "/dotnet/csharp/specifications" - }, - { - "source_path_from_root": "/docs/csharp/linq/create-a-nested-group.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" - }, - { - "source_path_from_root": "/docs/csharp/linq/group-query-results.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" - }, - { - "source_path_from_root": "/docs/csharp/linq/join-by-using-composite-keys.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" - }, - { - "source_path_from_root": "/docs/csharp/linq/perform-a-subquery-on-a-grouping-operation.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" - }, - { - "source_path_from_root": "/docs/csharp/linq/linq-to-objects.md", - "redirect_url": "/dotnet/csharp/linq/introduction-to-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/perform-grouped-joins.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" - }, - { - "source_path_from_root": "/docs/csharp/linq/perform-inner-joins.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" - }, - { - "source_path_from_root": "/docs/csharp/linq/perform-left-outer-joins.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" - }, - { - "source_path_from_root": "/docs/csharp/linq/order-the-results-of-a-join-clause.md", - "redirect_url": "/dotnet/csharp/linq/standard-query-operators/" - }, - { - "source_path_from_root": "/docs/csharp/linq/perform-custom-join-operations.md", - "redirect_url": "/dotnet/csharp/linq/" - }, - { - "source_path_from_root": "/docs/csharp/linq/query-expression-basics.md", - "redirect_url": "/dotnet/csharp/linq/get-started/query-expression-basics" - }, - { - "source_path_from_root": "/docs/csharp/linq/query-a-collection-of-objects.md", - "redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/return-a-query-from-a-method.md", - "redirect_url": "/dotnet/csharp/linq/get-started/features-that-support-linq#expressions-as-data" - }, - { - "source_path_from_root": "/docs/csharp/linq/dynamically-specify-predicate-filters-at-runtime.md", - "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/handle-null-values-in-query-expressions.md", - "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/handle-exceptions-in-query-expressions.md", - "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/store-the-results-of-a-query-in-memory.md", - "redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/write-linq-queries.md", - "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" - }, - { - "source_path_from_root": "/docs/csharp/linq/linq-in-csharp.md", - "redirect_url": "/dotnet/csharp/linq/" - }, - { - "source_path_from_root": "/docs/csharp/local-functions-vs-lambdas.md", - "redirect_url": "/dotnet/csharp/programming-guide/classes-and-structs/local-functions" - }, - { - "source_path_from_root": "/docs/csharp/methods-lambda-expressions.md", - "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0012.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0022.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0035.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0056.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0057.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0105.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0111.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0121.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0138.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0171.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0182.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0185.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lock-semantics" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0192.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0193.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0196.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0199.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0200.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0206.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0208.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0209.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0210.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0211.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0212.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0213.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0214.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0215.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0216.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0227.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0242.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0243.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0244.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0245.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0254.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0459.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0821.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0217.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0218.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0225.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0231.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0248.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0251.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0261.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0262.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0263.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0264.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0265.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0267.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0282.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0400.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0404.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0415.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0416.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0447.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0431.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0430.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0432.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0439.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0440.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0448.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0457.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0425.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0428.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" - }, - { - "source_path_from_root": "/docs/csharp/misc/cs0460.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/return.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/jump-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0466.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/language-reference/keywords/sbyte.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0470.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/selection-statements.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0473.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/short.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0531.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/sizeof.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/sizeof" }, { - "source_path_from_root": "/docs/csharp/misc/cs0535.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/stackalloc.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/stackalloc" }, { - "source_path_from_root": "/docs/csharp/misc/cs0501.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/keywords/string.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/reference-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0514.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/struct.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/struct" }, { - "source_path_from_root": "/docs/csharp/misc/cs0515.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/switch.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/selection-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0132.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/throw.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0516.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + "source_path_from_root": "/docs/csharp/language-reference/keywords/true-false-operators.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" }, { - "source_path_from_root": "/docs/csharp/misc/cs0517.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + "source_path_from_root": "/docs/csharp/language-reference/keywords/true-literal.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" }, { - "source_path_from_root": "/docs/csharp/misc/cs0522.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + "source_path_from_root": "/docs/csharp/language-reference/keywords/true-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/true-false-operators" }, { - "source_path_from_root": "/docs/csharp/misc/cs0526.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + "source_path_from_root": "/docs/csharp/language-reference/keywords/true.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/bool" }, { - "source_path_from_root": "/docs/csharp/misc/cs0538.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/try-catch.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0539.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/try-catch-finally.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0540.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/try-finally.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/exception-handling-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0541.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/typeof.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast#the-typeof-operator" }, { - "source_path_from_root": "/docs/csharp/misc/cs0550.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/types.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords" }, { - "source_path_from_root": "/docs/csharp/misc/cs0551.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/uint.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0553.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/ulong.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0554.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/unchecked.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/checked-and-unchecked" }, { - "source_path_from_root": "/docs/csharp/misc/cs0555.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/ushort.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/integral-numeric-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0556.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/using-statement.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/using" }, { - "source_path_from_root": "/docs/csharp/misc/cs0557.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/using-static.md", + "redirect_url": "/dotnet/csharp/language-reference/keywords/using-directive" }, { - "source_path_from_root": "/docs/csharp/misc/cs0558.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/value-types-table.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/value-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0559.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/value-types.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/value-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0562.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/var.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/declarations#implicitly-typed-local-variables" }, { - "source_path_from_root": "/docs/csharp/misc/cs0564.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/void.md", + "redirect_url": "/dotnet/csharp/language-reference/builtin-types/void" }, { - "source_path_from_root": "/docs/csharp/misc/cs0567.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/while.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/iteration-statements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0590.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/keywords/yield.md", + "redirect_url": "/dotnet/csharp/language-reference/statements/yield" }, { - "source_path_from_root": "/docs/csharp/misc/cs0660.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/language-specification/index.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/introduction" }, { - "source_path_from_root": "/docs/csharp/misc/cs0661.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/addition-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0715.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/and-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0728.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" + "source_path_from_root": "/docs/csharp/language-reference/operators/and-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-and-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0735.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/bitwise-complement-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#bitwise-complement-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0739.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/conditional-and-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#conditional-logical-and-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs1037.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/conditional-or-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#conditional-logical-or-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs1553.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/decrement-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#decrement-operator---" }, { - "source_path_from_root": "/docs/csharp/misc/cs1554.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/dereference-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/pointer-related-operators#pointer-member-access-operator--" }, { - "source_path_from_root": "/docs/csharp/misc/cs0568.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructors-in-struct-types" + "source_path_from_root": "/docs/csharp/language-reference/operators/division-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0573.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructors-in-struct-types" + "source_path_from_root": "/docs/csharp/language-reference/operators/division-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#division-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0570.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#CS0570" + "source_path_from_root": "/docs/csharp/language-reference/operators/equality-comparison-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/equality-operators#equality-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0576.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/greater-than-equal-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#greater-than-or-equal-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0577.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/greater-than-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#greater-than-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0578.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/increment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#increment-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0582.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/index-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#indexer-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0609.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/invocation-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#invocation-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0629.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/left-shift-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0591.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/left-shift-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#left-shift-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0599.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/less-than-equal-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#less-than-or-equal-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0611.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/less-than-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/comparison-operators#less-than-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0617.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/logical-negation-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-negation-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0623.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/member-access-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#member-access-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0625.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/modulus-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0631.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/modulus-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#remainder-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0633.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/multiplication-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0636.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/multiplication-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#multiplication-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0637.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/namespace-alias-qualifer.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/namespace-alias-qualifier" }, { - "source_path_from_root": "/docs/csharp/misc/cs0641.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/not-equal-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/equality-operators#inequality-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0646.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/null-conditional-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/null-coalescing-operator" }, { - "source_path_from_root": "/docs/csharp/misc/cs0647.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/null-conditional-operators.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0643.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/or-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0653.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/or-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-or-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0657.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/remainder-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0658.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/remainder-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#remainder-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0655.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/operators/right-shift-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0663.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/language-reference/operators/right-shift-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#right-shift-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0668.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/null-parameter-check.md", + "redirect_url": "/dotnet/csharp/language-reference/operators" }, { - "source_path_from_root": "/docs/csharp/misc/cs0674.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/language-reference/operators/subtraction-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/arithmetic-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0685.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/type-testing-and-conversion-operators.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/type-testing-and-cast" }, { - "source_path_from_root": "/docs/csharp/misc/cs0687.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + "source_path_from_root": "/docs/csharp/language-reference/operators/xor-assignment-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#compound-assignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0710.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + "source_path_from_root": "/docs/csharp/language-reference/operators/xor-operator.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-exclusive-or-operator-" }, { - "source_path_from_root": "/docs/csharp/misc/cs0719.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/index.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives", + "redirect_document_id": true }, { - "source_path_from_root": "/docs/csharp/misc/cs0747.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-define.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0748.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-parameters-and-returns" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-elif.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0750.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-else.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0751.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-endif.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0754.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-endregion.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0755.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-error.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0756.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-if.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0757.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-line.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0758.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-nullable.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0759.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma-checksum.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0761.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma-warning.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0762.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0763.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-region.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0764.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-undef.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0765.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/preprocessor-directives/preprocessor-warning.md", + "redirect_url": "/dotnet/csharp/language-reference/preprocessor-directives" }, { - "source_path_from_root": "/docs/csharp/misc/cs0815.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-10.0/lambda-attributes.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-10.0/lambda-improvements" }, { - "source_path_from_root": "/docs/csharp/misc/cs0820.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.0/index.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/readme" }, { - "source_path_from_root": "/docs/csharp/misc/cs0824.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.1/index.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/readme" }, { - "source_path_from_root": "/docs/csharp/misc/cs0828.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.2/index.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/variables#928-input-parameters" }, { - "source_path_from_root": "/docs/csharp/misc/cs0831.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-7.3/index.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-7.3/ref-local-reassignment" }, { - "source_path_from_root": "/docs/csharp/misc/cs0832.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-reference-types-specification.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0835.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-constructor-analysis.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0837.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-parameter-default-value-analysis.md", + "redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types" }, { - "source_path_from_root": "/docs/csharp/misc/cs0838.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/index.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-9.0/records" }, { - "source_path_from_root": "/docs/csharp/misc/cs0839.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-10.0/index.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-10.0/record-structs" }, { - "source_path_from_root": "/docs/csharp/misc/cs1007.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-11.0/index.md", + "redirect_url": "/dotnet/csharp/language-reference/proposals/csharp-11.0/static-abstracts-in-interfaces" }, { - "source_path_from_root": "/docs/csharp/misc/cs1011.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + "source_path_from_root": "/docs/csharp/language-reference/specifications.md", + "redirect_url": "/dotnet/csharp/specifications" }, { - "source_path_from_root": "/docs/csharp/misc/cs1012.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + "source_path_from_root": "/docs/csharp/linq/create-a-nested-group.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" }, { - "source_path_from_root": "/docs/csharp/misc/cs1014.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + "source_path_from_root": "/docs/csharp/linq/group-query-results.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" }, { - "source_path_from_root": "/docs/csharp/misc/cs1016.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + "source_path_from_root": "/docs/csharp/linq/join-by-using-composite-keys.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1020.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + "source_path_from_root": "/docs/csharp/linq/perform-a-subquery-on-a-grouping-operation.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data" }, { - "source_path_from_root": "/docs/csharp/misc/cs1024.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/linq-to-objects.md", + "redirect_url": "/dotnet/csharp/linq/introduction-to-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1025.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/perform-grouped-joins.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1027.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/perform-inner-joins.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1028.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/perform-left-outer-joins.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1030.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/order-the-results-of-a-join-clause.md", + "redirect_url": "/dotnet/csharp/linq/standard-query-operators/" }, { - "source_path_from_root": "/docs/csharp/misc/cs1032.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/perform-custom-join-operations.md", + "redirect_url": "/dotnet/csharp/linq/" }, { - "source_path_from_root": "/docs/csharp/misc/cs1038.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/query-expression-basics.md", + "redirect_url": "/dotnet/csharp/linq/get-started/query-expression-basics" }, { - "source_path_from_root": "/docs/csharp/misc/cs1039.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + "source_path_from_root": "/docs/csharp/linq/query-a-collection-of-objects.md", + "redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1040.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/linq/return-a-query-from-a-method.md", + "redirect_url": "/dotnet/csharp/linq/get-started/features-that-support-linq#expressions-as-data" }, { - "source_path_from_root": "/docs/csharp/misc/cs1043.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + "source_path_from_root": "/docs/csharp/linq/dynamically-specify-predicate-filters-at-runtime.md", + "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1100.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/linq/handle-null-values-in-query-expressions.md", + "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1101.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/linq/handle-exceptions-in-query-expressions.md", + "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1102.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/linq/store-the-results-of-a-query-in-memory.md", + "redirect_url": "/dotnet/csharp/linq/get-started/introduction-to-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1103.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/linq/write-linq-queries.md", + "redirect_url": "/dotnet/csharp/linq/get-started/write-linq-queries" }, { - "source_path_from_root": "/docs/csharp/misc/cs1104.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/linq/linq-in-csharp.md", + "redirect_url": "/dotnet/csharp/linq/" }, { - "source_path_from_root": "/docs/csharp/misc/cs1105.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/local-functions-vs-lambdas.md", + "redirect_url": "/dotnet/csharp/programming-guide/classes-and-structs/local-functions" }, { - "source_path_from_root": "/docs/csharp/misc/cs1106.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/methods-lambda-expressions.md", + "redirect_url": "/dotnet/csharp/language-reference/operators/lambda-expressions" }, { - "source_path_from_root": "/docs/csharp/misc/cs1109.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/misc/cs0012.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" }, { - "source_path_from_root": "/docs/csharp/misc/cs1110.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/misc/cs0022.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1113.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + "source_path_from_root": "/docs/csharp/misc/cs0035.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1510.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0056.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1517.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0057.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1529.md", + "source_path_from_root": "/docs/csharp/misc/cs0105.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1534.md", + "source_path_from_root": "/docs/csharp/misc/cs0111.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" }, { - "source_path_from_root": "/docs/csharp/misc/cs1535.md", + "source_path_from_root": "/docs/csharp/misc/cs0121.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" }, { - "source_path_from_root": "/docs/csharp/misc/cs1537.md", + "source_path_from_root": "/docs/csharp/misc/cs0138.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1552.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/misc/cs0171.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1560.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0182.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" }, { - "source_path_from_root": "/docs/csharp/misc/cs1576.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0185.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lock-semantics" }, { - "source_path_from_root": "/docs/csharp/misc/cs1578.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0192.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1586.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + "source_path_from_root": "/docs/csharp/misc/cs0193.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1605.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0196.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1608.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/misc/cs0199.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1611.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/misc/cs0200.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1618.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/misc/cs0206.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1621.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs0208.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1622.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0209.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1623.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0210.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1624.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0211.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1625.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0212.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1626.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0213.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1627.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0214.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1628.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs0215.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1629.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0216.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1631.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0227.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1632.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs0242.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1633.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0243.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1634.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0244.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1635.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0245.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" }, { - "source_path_from_root": "/docs/csharp/misc/cs1637.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + "source_path_from_root": "/docs/csharp/misc/cs0254.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1641.md", + "source_path_from_root": "/docs/csharp/misc/cs0459.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1642.md", + "source_path_from_root": "/docs/csharp/misc/cs0821.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1643.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0217.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1649.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0218.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1651.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0225.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" }, { - "source_path_from_root": "/docs/csharp/misc/cs1655.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0231.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" }, { - "source_path_from_root": "/docs/csharp/misc/cs1663.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/misc/cs0248.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1665.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/misc/cs0251.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1666.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + "source_path_from_root": "/docs/csharp/misc/cs0261.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1667.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/misc/cs0262.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1657.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + "source_path_from_root": "/docs/csharp/misc/cs0263.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1660.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0264.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1661.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0265.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1662.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0267.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1670.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + "source_path_from_root": "/docs/csharp/misc/cs0282.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" }, { - "source_path_from_root": "/docs/csharp/misc/cs1671.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + "source_path_from_root": "/docs/csharp/misc/cs0400.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" }, { - "source_path_from_root": "/docs/csharp/misc/cs1673.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs0404.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1676.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0415.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1677.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0416.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1678.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + "source_path_from_root": "/docs/csharp/misc/cs0447.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1679.md", + "source_path_from_root": "/docs/csharp/misc/cs0431.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1680.md", + "source_path_from_root": "/docs/csharp/misc/cs0430.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1681.md", + "source_path_from_root": "/docs/csharp/misc/cs0432.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1674.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" + "source_path_from_root": "/docs/csharp/misc/cs0439.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1686.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs0440.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1688.md", + "source_path_from_root": "/docs/csharp/misc/cs0448.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0457.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0425.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0428.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0460.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0466.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0470.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0473.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0531.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0535.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0501.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0514.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0515.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0132.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0516.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0517.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0522.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-calls-with-base-and-this" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0526.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0538.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0539.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0540.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0541.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0550.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0551.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0553.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0554.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0555.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0556.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0557.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0558.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0559.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0562.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0564.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0567.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0590.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0660.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0661.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0715.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0728.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#using-variable-scope-and-control-flow" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0735.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0739.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1037.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1553.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1554.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0568.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructors-in-struct-types" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0573.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructors-in-struct-types" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0570.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#CS0570" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0576.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0577.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0578.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0582.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0609.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0629.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0591.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0599.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0611.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0617.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0623.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0625.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0631.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0633.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0636.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0637.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0641.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0646.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0647.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0643.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0653.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0657.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0658.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0655.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0663.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0668.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0674.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0685.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0687.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0710.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0719.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0747.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0748.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-parameters-and-returns" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0750.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0751.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0754.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0755.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0756.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0757.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0758.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0759.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0761.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0762.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0763.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0764.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/partial-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0765.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1689.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + "source_path_from_root": "/docs/csharp/misc/cs0815.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0820.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0824.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#constructor-declarations" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1692.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0828.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0831.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0832.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0835.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1694.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs0837.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0838.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/expression-tree-restrictions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0839.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1007.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1011.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1012.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1014.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1016.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/parameter-argument-mismatch" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1020.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1024.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1025.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1027.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1028.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1030.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1032.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1038.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1039.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/string-literal" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1040.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1043.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/property-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1100.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1101.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1102.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1103.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1104.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1105.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1106.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1109.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1110.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1113.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/extension-declarations" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1510.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1517.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1529.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1534.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1535.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overload-resolution" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1537.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1552.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1560.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1576.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1578.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1586.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1605.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1608.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1611.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1618.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1621.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1622.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1623.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1624.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1625.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1626.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1627.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1628.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1629.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1631.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1632.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1633.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1634.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1635.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1637.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1641.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1642.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1695.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs1643.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs1649.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1651.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1655.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1663.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1665.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1666.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/unsafe-code-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1667.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1657.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1696.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs1660.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1706.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + "source_path_from_root": "/docs/csharp/misc/cs1661.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1709.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + "source_path_from_root": "/docs/csharp/misc/cs1662.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs1670.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1671.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1673.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, { - "source_path_from_root": "/docs/csharp/misc/cs1714.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + "source_path_from_root": "/docs/csharp/misc/cs1676.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, { - "source_path_from_root": "/docs/csharp/misc/cs1730.md", - "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + "source_path_from_root": "/docs/csharp/misc/cs1677.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1678.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1679.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1680.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1681.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1674.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1686.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1688.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs1689.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/attribute-usage-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1692.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1694.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1695.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1696.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1706.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1709.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/preprocessor-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1714.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/assembly-references" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs1730.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" + }, { "source_path_from_root": "/docs/csharp/misc/cs1731.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors" @@ -2951,7 +2955,7 @@ }, { "source_path_from_root": "/docs/csharp/namespaces-and-assemblies.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/namespaces" + "redirect_url": "/dotnet/csharp/fundamentals/program-structure/namespaces" }, { "source_path_from_root": "/docs/csharp/nullable-attributes.md", @@ -4631,15 +4635,15 @@ }, { "source_path_from_root": "/docs/csharp/programming-guide/namespaces/how-to-use-the-my-namespace.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/namespaces" + "redirect_url": "/dotnet/csharp/fundamentals/program-structure/namespaces" }, { "source_path_from_root": "/docs/csharp/programming-guide/namespaces/index.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/namespaces" + "redirect_url": "/dotnet/csharp/fundamentals/program-structure/namespaces" }, { "source_path_from_root": "/docs/csharp/programming-guide/namespaces/using-namespaces.md", - "redirect_url": "/dotnet/csharp/fundamentals/types/namespaces" + "redirect_url": "/dotnet/csharp/fundamentals/program-structure/namespaces" }, { "source_path_from_root": "/docs/csharp/programming-guide/nullable-types/boxing-nullable-types.md", diff --git a/docfx.json b/docfx.json index bdbaba30753f1..81e6317284893 100644 --- a/docfx.json +++ b/docfx.json @@ -252,6 +252,7 @@ "docs/core/unmanaged-api/**/*.md": "reference", "docs/core/whats-new/**/*.md": "whats-new", "docs/csharp/advanced-topics/interface-implementation/**.md": "tutorial", + "docs/csharp/fundamentals/program-structure/**.md": "concept-article", "docs/csharp/getting-started/**/*.md": "overview", "docs/csharp/how-to/**/*.md": "how-to", "docs/csharp/language-reference/**/*.md": "language-reference", diff --git a/docs/core/compatibility/sdk/6.0/csharp-template-code.md b/docs/core/compatibility/sdk/6.0/csharp-template-code.md index f6ac1f45d8fac..8c84ec0e1485d 100644 --- a/docs/core/compatibility/sdk/6.0/csharp-template-code.md +++ b/docs/core/compatibility/sdk/6.0/csharp-template-code.md @@ -12,7 +12,7 @@ Starting in .NET 6, the project templates that ship with the .NET SDK use the la - [File-scoped namespaces](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-10.0/file-scoped-namespaces.md) - [Target-typed new expressions](/dotnet/csharp/language-reference/proposals/csharp-9.0/target-typed-new) - [Nullable reference types](../../../../csharp/nullable-references.md) -- [Async Main return values](../../../../csharp/fundamentals/program-structure/main-command-line.md#async-main-return-values) +- [Async Main return values](../../../../csharp/fundamentals/program-structure/main-command-line.md#main-return-values) Some of the latest C# language features are not supported by previous target frameworks, so you might experience issues in the following scenarios: diff --git a/docs/core/tutorials/top-level-templates.md b/docs/core/tutorials/top-level-templates.md index 85abb1fb09cdd..553b762dcb3df 100644 --- a/docs/core/tutorials/top-level-templates.md +++ b/docs/core/tutorials/top-level-templates.md @@ -50,7 +50,7 @@ The features that make the new program simpler are *top-level statements*, *glob The term [*top-level statements*](../../csharp/fundamentals/program-structure/top-level-statements.md) means the compiler generates the class and method elements for your main program. The compiler declares the generated class and entry point method in the global namespace. Look at the code for the new application and imagine that it contains the statements inside the `Main` method generated by earlier templates, but in the global namespace. -Add more statements to the program, just as you add statements to your `Main` method in the traditional style. [Access `args` (command-line arguments)](../../csharp/fundamentals/program-structure/top-level-statements.md#args), [use `await`](../../csharp/fundamentals/program-structure/top-level-statements.md#await), and [set the exit code](../../csharp/fundamentals/program-structure/top-level-statements.md#exit-code-for-the-process). You can even add functions. The compiler creates them as local functions nested inside the generated entry point method. Local functions can't include any access modifiers (for example, `public` or `protected`). +Add more statements to the program, just as you add statements to your `Main` method in the traditional style. [Access `args` (command-line arguments)](../../csharp/fundamentals/program-structure/top-level-statements.md#args), [use `await`](../../csharp/fundamentals/program-structure/top-level-statements.md#await-and-exit-code), and [set the exit code](../../csharp/fundamentals/program-structure/top-level-statements.md#await-and-exit-code). You can even add functions. The compiler creates them as local functions nested inside the generated entry point method. Local functions can't include any access modifiers (for example, `public` or `protected`). Both top-level statements and [implicit `using` directives](#implicit-using-directives) simplify the code that makes up your application. To follow an existing tutorial, add any new statements to the *Program.cs* file generated by the template. Imagine that the statements you write are between the open and closing braces in the `Main` method in the instructions of the tutorial. diff --git a/docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks.md b/docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks.md index 28059da54f4f7..e42bce5feb235 100644 --- a/docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks.md +++ b/docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks.md @@ -118,7 +118,7 @@ static async Task Main() } ``` -The updated `Main` method is now considered an [Async main](../fundamentals/program-structure/main-command-line.md#async-main-return-values), which allows for an asynchronous entry point into the executable. It writes a few instructional messages to the console, then declares a instance named `cancelTask`, which will read console key strokes. If the Enter key is pressed, a call to is made. This will signal cancellation. Next, the `sumPageSizesTask` variable is assigned from the `SumPageSizesAsync` method. Both tasks are then passed to , which will continue when any of the two tasks have completed. +The updated `Main` method is now considered an [Async main](../fundamentals/program-structure/main-command-line.md#main-return-values), which allows for an asynchronous entry point into the executable. It writes a few instructional messages to the console, then declares a instance named `cancelTask`, which will read console key strokes. If the Enter key is pressed, a call to is made. This will signal cancellation. Next, the `sumPageSizesTask` variable is assigned from the `SumPageSizesAsync` method. Both tasks are then passed to , which will continue when any of the two tasks have completed. The next block of code ensures that the application doesn't exit until the cancellation has been processed. If the first task to complete is the `cancelTask`, the `sumPageSizeTask` is awaited. If it was cancelled, when awaited it throws a . The block catches that exception, and prints a message. diff --git a/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md b/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md index 40189bba94946..65ce2539a13fa 100644 --- a/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md +++ b/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md @@ -82,7 +82,7 @@ The main entry point into the console application is the `Main` method. Replace static Task Main() => SumPageSizesAsync(); ``` -The updated `Main` method is now considered an [Async main](../fundamentals/program-structure/main-command-line.md#async-main-return-values), which allows for an asynchronous entry point into the executable. It is expressed as a call to `SumPageSizesAsync`. +The updated `Main` method is now considered an [Async main](../fundamentals/program-structure/main-command-line.md#main-return-values), which allows for an asynchronous entry point into the executable. It is expressed as a call to `SumPageSizesAsync`. ## Create the asynchronous sum page sizes method diff --git a/docs/csharp/fundamentals/program-structure/index.md b/docs/csharp/fundamentals/program-structure/index.md index 5a8a0a88ac7ca..d6a34b38d957b 100644 --- a/docs/csharp/fundamentals/program-structure/index.md +++ b/docs/csharp/fundamentals/program-structure/index.md @@ -1,73 +1,123 @@ --- -title: "General Structure of a Program" -description: Learn about the structure of a C# program by using a skeleton program that contains all the required elements for a program. -ms.date: 06/20/2025 -helpviewer_keywords: - - "C# language, program structure" +title: "General structure of a C# program" +description: Learn how C# programs are structured, including the choice between file-based and project-based apps, top-level statements and Main method entry points, and the building blocks that make up every program. +ms.date: 03/16/2026 +ms.topic: concept-article +ai-usage: ai-assisted + +#customer intent: As a C# developer, I want to understand how C# programs are structured so that I can choose the right application style and organize my code effectively. + --- -# General Structure of a C# Program +# General structure of a C# program -C# programs consist of one or more files. Each file contains zero or more namespaces. A namespace contains types such as classes, structs, interfaces, enumerations, and delegates, or other namespaces. The following example is the skeleton of a C# program that contains all of these elements. +> [!TIP] +> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. They walk you through writing your first C# programs before you learn about program structure. +> +> **Experienced in another language?** You might want to skim the [Get started](../../tour-of-csharp/tutorials/index.md) section for C#-specific syntax, then come back here. -:::code language="csharp" source="snippets/toplevel-structure/Program.cs"::: +You build C# programs from these core building blocks: namespaces organize your types, types (classes, structs, interfaces, enums, and delegates) define behavior and data, and statements and expressions perform work at run time. The way you structure the entry point depends on which application style you choose. -The preceding example uses [*top-level statements*](top-level-statements.md) for the program's entry point. Only one file can have top-level statements. The program's entry point is the first text line of program text in that file. In this case, it's the `Console.WriteLine("Hello world!");`. -You can also create a static method named [`Main`](main-command-line.md) as the program's entry point, as shown in the following example: +## Choosing your application style -:::code language="csharp" source="snippets/structure/Program.cs"::: +When you create a C# program, make two independent choices about how to structure it: -In that case the program starts in the opening brace of `Main` method, which is `Console.WriteLine("Hello world!");` +- **File-based or project-based?** + - A file-based app runs from a single `.cs` file with no project file. + - A project-based app uses a `.csproj` file and can span multiple source files. +- **Top-level statements or `Main` method?** + - Top-level statements let you write executable code directly at the top of a file. + - A `Main` method wraps the entry point in an explicit static method. -## Building and running C# programs +Both project-based apps and file-based apps support either entry-point style. -C# is a *compiled* language. In most C# programs, you use the [`dotnet build`](../../../core/tools/dotnet-build.md) command to compile a group of source files into a binary package. Then, you use the [`dotnet run`](../../../core/tools/dotnet-run.md) command to run the program. (You can simplify this process because `dotnet run` compiles the program before running it if necessary.) These tools support a rich language of configuration options and command-line switches. The `dotnet` command line interface (CLI), which is included in the .NET SDK, provides many [tools](../../../core/tools/index.md) to generate and modify C# files. +### File-based apps vs. project-based apps -Beginning with C# 14 and .NET 10, you can create *file-based apps*, which simplifies building and running C# programs. You use the `dotnet run` command to run a program contained in a single `*.cs` file. For example, if the following snippet is stored in a file named `hello-world.cs`, you can run it by typing `dotnet run hello-world.cs`: +Starting with C# 14 and .NET 10, *file-based apps* let you run a program contained in a single `*.cs` file without a project file. Store the following code in a file named `hello-world.cs` and run it with `dotnet run hello-world.cs` or `dotnet hello-world.cs`: :::code language="csharp" source="./snippets/file-based-program/hello-world.cs"::: -The first line of the program contains the `#!` sequence for Unix shells. The location of the `dotnet` CLI can vary on different distributions. On any Unix system, if you set the *execute* (`+x`) permission on a C# file, you can run the C# file from the command line: +> [!NOTE] +> The `#!` line enables Unix shells to run the file directly. On any Unix system, set the *execute* (`+x`) permission and run the file from the command line. + +File-based apps support all C# syntax and can use [preprocessor directives](../../language-reference/preprocessor-directives.md#file-based-apps) to configure the build system. Use file-based apps for small command-line utilities, prototypes, and experiments. A file-based app consists of a single file in a directory: + +``` +my-app/ +└── hello-world.cs +``` -```bash -./hello-world.cs +*Project-based apps* use a `.csproj` file and the [.NET CLI commands](../../../core/tools/index.md) `dotnet new`, `dotnet build`, and `dotnet run` workflow. Choose project-based apps when your program spans multiple files or needs fine-grained build configuration. A project-based app includes a project file alongside one or more source files: + +``` +my-app/ +├── my-app.csproj +├── Program.cs +├── Models/ +│ └── Person.cs +└── Services/ + └── GreetingService.cs ``` -The source for these programs must be a single file, but otherwise all C# syntax is valid. You can use file-based apps for small command-line utilities, prototypes, or other experiments. file-based apps allow [preprocessor directives](../../language-reference/preprocessor-directives.md#file-based-apps) that configure the build system. +If your file-based app grows, you can easily convert it to a project-based app. Run [`dotnet project convert`](../../../core/tools/dotnet-project-convert.md) to generate a project file from your existing source file. + +If you know your app needs multiple source files from the start, begin with a project-based app. You avoid the conversion step and can organize your code into separate files right away. + +### Top-level statements vs. `Main` method + +By using [top-level statements](top-level-statements.md), you can write executable code directly in one file without wrapping it in a class and `Main` method. This style is the default when you create a new console app with `dotnet new console`. The following example shows a modern C# program that uses [top-level statements](top-level-statements.md): + +:::code language="csharp" source="snippets/toplevel-structure/Program.cs"::: + +Only one file in a project can have top-level statements, and the entry point is the first line of program text in that file. As you build larger programs, you include more program elements. + +You can also define an explicit static [`Main`](main-command-line.md) method as the program's entry point: + +:::code language="csharp" source="snippets/structure/Program.cs"::: + +Both entry-point styles work with file-based and project-based apps. Both styles support the same features. + +## Building and running C# programs + +C# is a *compiled* language. For project-based apps, use the [`dotnet build`](../../../core/tools/dotnet-build.md) command to compile source files into a binary package. Use [`dotnet run`](../../../core/tools/dotnet-run.md) to build and run in one step. The `dotnet` CLI, included in the .NET SDK, provides many [tools](../../../core/tools/index.md) to create, build, and manage C# projects. + +For file-based apps, `dotnet run hello-world.cs` compiles and runs the single file directly - no project file required. ## Expressions and statements -C# programs are built using *expressions* and *statements*. Expressions produce a value, and statements perform an action: +If you followed the [Get started](../../tour-of-csharp/overview.md) tutorials, you already wrote expressions and statements. Every line of code you typed was one or the other (or both). Now let's define those terms. -An *expression* is a combination of values, variables, operators, and method calls that evaluate to a single value. Expressions produce a result and can be used wherever a value is expected. The following examples are expressions: +Expressions and statements are the fundamental building blocks of a C# program. An *expression* produces a value. A *statement* performs an action and typically ends in a semicolon. + +The following are expressions: - `42` (literal value) - `x + y` (arithmetic operation) -- `Math.Max(a, b)` (method call) +- `Math.Max(a, b)` (method call that produces a value) - `condition ? trueValue : falseValue` (conditional expression) - `new Person("John")` (object creation) -A *statement* is a complete instruction that performs an action. Statements don't return values; instead, they control program flow, declare variables, or perform operations. The following examples are statements: +A *statement* performs an action. Statements control program flow, declare variables, or invoke operations. The following are statements: -- `int x = 42;` (declaration statement) -- `Console.WriteLine("Hello");` (expression statement - wraps a method call expression) +- `int x;` (declaration statement) +- `int x = 42;` (declaration statement with initialization) +- `Console.WriteLine("Hello");` (method call statement) - `if (condition) { /* code */ }` (conditional statement) - `return result;` (return statement) -The key distinction: expressions evaluate to values, while statements perform actions. Some constructs, like method calls, can be both. For example, `Math.Max(a, b)` is an expression when used in `int result = Math.Max(a, b);`, but becomes an expression statement when written alone as `Math.Max(a, b);`. +Statements often contain expressions, and expressions can nest inside other expressions. For example, the following declaration statement assigns `f` to the result of an addition expression. That addition expression adds the results of two method call expressions: -For detailed information about statements, see [Statements](../../programming-guide/statements-expressions-operators/statements.md). For information about expression-bodied members and other expression features, see [Expression-bodied members](../../programming-guide/statements-expressions-operators/expression-bodied-members.md). +```csharp +var maxResult = Math.Max(a, b) + Math.Max(c, d); +``` -## Related Sections +For detailed information about statements, see [Statements](../../programming-guide/statements-expressions-operators/statements.md). For information about expression-bodied members, see [Expression-bodied members](../../programming-guide/statements-expressions-operators/expression-bodied-members.md). -You learn about these program elements in the [types](../types/index.md) section of the fundamentals guide: +## Related content -- [Classes](../types/classes.md) -- [Structs](../../language-reference/builtin-types/struct.md) -- [Namespaces](../types/namespaces.md) -- [Interfaces](../types/interfaces.md) +- [Classes](../types/classes.md) +- [Structs](../../language-reference/builtin-types/struct.md) +- [Namespaces](namespaces.md) +- [Interfaces](../types/interfaces.md) - [Enums](../../language-reference/builtin-types/enum.md) - [Delegates](../../delegates-overview.md) - -## C# Language Specification - -For more information, see [Basic concepts](~/_csharpstandard/standard/basic-concepts.md) in the [C# Language Specification](~/_csharpstandard/standard/README.md). The language specification is the definitive source for C# syntax and usage. +- [Basic concepts in the C# language specification](~/_csharpstandard/standard/basic-concepts.md) diff --git a/docs/csharp/fundamentals/program-structure/main-command-line.md b/docs/csharp/fundamentals/program-structure/main-command-line.md index a4c6c2400cf64..4e7350f5c92e9 100644 --- a/docs/csharp/fundamentals/program-structure/main-command-line.md +++ b/docs/csharp/fundamentals/program-structure/main-command-line.md @@ -1,42 +1,35 @@ --- title: "Main() and command-line arguments" description: Learn about Main() and command-line arguments. The 'Main' method is the entry point of an executable program. -ms.date: 12/15/2025 -f1_keywords: - - "main_CSharpKeyword" - - "Main" -helpviewer_keywords: - - "Main method [C#]" - - "C# language, command-line arguments" - - "arguments [C#], command-line" - - "command line [C#], arguments" - - "command-line arguments [C#], Main method" +ms.date: 03/16/2026 +ai-usage: ai-assisted +#customer intent: As a C# developer, I want to understand the Main() method and command-line arguments so that I can define and control the entry point of my application. --- # Main() and command-line arguments -The runtime calls the `Main` method when you start a C# application. The `Main` method is the entry point of a C# application. - -A C# program can have only one entry point. If you have more than one class with a `Main` method, you must use the **StartupObject** compiler option when you compile your program to specify which `Main` method serves as the entry point. For more information, see [**StartupObject** (C# Compiler Options)](../../language-reference/compiler-options/advanced.md#startupobject). The following example displays the number of command line arguments as its first action: - -:::code language="csharp" source="snippets/main-command-line/TestClass.cs"::: +> [!TIP] +> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. Those tutorials use [top-level statements](top-level-statements.md), which is simpler for new apps. +> +> **Working with an existing codebase?** Many existing applications use an explicit `Main` method. This article explains how it works and how to use it effectively. -You can also use top-level statements in one file as the entry point for your application. Like the `Main` method, top-level statements can [return values](#main-return-values) and access [command-line arguments](#command-line-arguments). For more information, see [Top-level statements](top-level-statements.md). The following example uses a `foreach` loop to display the command-line arguments by using the `args` variable, and at the end of the program returns a success code (`0`): +When you start a C# application, the runtime calls the `Main` method. The `Main` method is the entry point of a C# application. -:::code language="csharp" source="snippets/top-level-statements-1/Program.cs"::: +A C# program can have only one entry point. If you have more than one class with a `Main` method, you must use the **StartupObject** compiler option when you compile your program to specify which `Main` method serves as the entry point. For more information, see [**StartupObject** (C# Compiler Options)](../../language-reference/compiler-options/advanced.md#startupobject). The following example displays the number of command-line arguments as its first action: -Beginning with C# 14, programs can be [*file-based apps*](./index.md#building-and-running-c-programs), where a single file contains the program. You run *file-based apps* by using the command `dotnet `, or by using the `#!/usr/bin/env dotnet run` directive as the first line (Unix shells only). +:::code language="csharp" source="snippets/main-command-line/TestClass.cs"::: ## Overview -- The `Main` method is the entry point of an executable program. It's where the program control starts and ends. +The `Main` method is the entry point of an executable program. When your program starts, the runtime calls `Main` before any other code runs. When `Main` returns, the program ends. You declare `Main` with these rules: + - You must declare `Main` inside a class or struct. The enclosing `class` can be `static`. - `Main` must be [`static`](../../language-reference/keywords/static.md). - `Main` can have any [access modifier](../../programming-guide/classes-and-structs/access-modifiers.md). - `Main` can return `void`, `int`, `Task`, or `Task`. - If and only if `Main` returns a `Task` or `Task`, the declaration of `Main` can include the [`async`](../../language-reference/keywords/async.md) modifier. This rule specifically excludes an `async void Main` method. -- You can declare the `Main` method with or without a `string[]` parameter that contains command-line arguments. When using Visual Studio to create Windows applications, you can add the parameter manually or else use the method to obtain the command-line arguments. Parameters are zero-indexed command-line arguments. Unlike C and C++, the name of the program isn't treated as the first command-line argument in the `args` array, but it's the first element of the method. +- You can declare the `Main` method with or without a `string[]` parameter that contains command-line arguments. When you use Visual Studio to create Windows applications, you can add the parameter manually or else use the method to obtain the command-line arguments. Parameters are zero-indexed command-line arguments. Unlike C and C++, the name of the program isn't treated as the first command-line argument in the `args` array, but it's the first element of the method. -The following list shows the most common `Main` declarations: +The following list shows permutations of `Main` declarations: ```csharp static void Main() { } @@ -51,172 +44,55 @@ static async Task Main(string[] args) { } The preceding examples don't specify an access modifier, so they're implicitly `private` by default. You can specify any explicit access modifier. -> [!TIP] -> By using `async` and `Task` or `Task` return types, you simplify program code when console applications need to start and `await` asynchronous operations in `Main`. - -## Main() return values - -You can return an `int` from the `Main` method by defining the method in one of the following ways: - -| `Main` declaration | `Main` method code | -|----------------------------------------------|-----------------------------| -| `static int Main()` | No use of `args` or `await` | -| `static int Main(string[] args)` | Uses `args` but not `await` | -| `static async Task Main()` | Uses `await` but not `args` | -| `static async Task Main(string[] args)` | Uses `args` and `await` | +The following table summarizes all valid `Main` signatures and when to use each one: -If the return value from `Main` isn't used, returning `void` or `Task` allows for slightly simpler code. +| `Main` declaration | Uses `args` | contains `await` | Returns exit code | +|----------------------------------------------|-------------|------------------|-------------------| +| `static void Main()` | No | No | No | +| `static int Main()` | No | No | Yes | +| `static void Main(string[] args)` | Yes | No | No | +| `static int Main(string[] args)` | Yes | No | Yes | +| `static async Task Main()` | No | Yes | No | +| `static async Task Main()` | No | Yes | Yes | +| `static async Task Main(string[] args)` | Yes | Yes | No | +| `static async Task Main(string[] args)` | Yes | Yes | Yes | -| `Main` declaration | `Main` method code | -|-----------------------------------------|-----------------------------| -| `static void Main()` | No use of `args` or `await` | -| `static void Main(string[] args)` | Uses `args` but not `await` | -| `static async Task Main()` | Uses `await` but not `args` | -| `static async Task Main(string[] args)` | Uses `args` and `await` | +Choose the simplest signature that fits your needs. If you don't need command-line arguments, omit the `string[] args` parameter. If you don't need to return an exit code, use `void` or `Task`. If you need to call asynchronous methods, use `async` with a `Task` or `Task` return type. -However, returning `int` or `Task` enables the program to communicate status information to other programs or scripts that invoke the executable file. - -The following example shows how the exit code for the process can be accessed. +## Main() return values -This example uses [.NET Core](../../../core/introduction.md) command-line tools. If you're unfamiliar with .NET Core command-line tools, you can learn about them in this [get-started article](../../../core/tutorials/create-console-app.md). +When you return `int` or `Task`, your program can send status information to other programs or scripts that run the executable. A return value of `0` usually means success, and a nonzero value means there's an error. -Create a new application by running `dotnet new console`. Modify the `Main` method in *Program.cs* as follows: +The following example returns an exit code: :::code language="csharp" source="snippets/main-command-line/MainReturnValTest.cs"::: -Remember to save this program as *MainReturnValTest.cs*. - -When you execute a program in Windows, the system stores any value returned from the `Main` function in an environment variable. You can retrieve this environment variable by using `ERRORLEVEL` from a batch file, or `$LastExitCode` from PowerShell. +After running the program, you can check the exit code. In PowerShell, use `$LastExitCode`. In a batch file or shell script, use `%ERRORLEVEL%`. -You can build the application by using the [dotnet CLI](../../../core/tools/dotnet.md) `dotnet build` command. - -Next, create a PowerShell script to run the application and display the result. Paste the following code into a text file and save it as `test.ps1` in the folder that contains the project. Run the PowerShell script by typing `test.ps1` at the PowerShell prompt. - -Because the code returns zero, the batch file reports success. However, if you change MainReturnValTest.cs to return a nonzero value and then recompile the program, subsequent execution of the PowerShell script reports failure. - -```powershell -dotnet run -if ($LastExitCode -eq 0) { - Write-Host "Execution succeeded" -} else -{ - Write-Host "Execution Failed" -} -Write-Host "Return value = " $LastExitCode -``` - -```output -Execution succeeded -Return value = 0 -``` - -### Async Main return values - -When you declare an `async` return value for `Main`, the compiler generates the boilerplate code for calling asynchronous methods in `Main`: +If your `Main` method uses `await`, declare it as `async` with a `Task` or `Task` return type. The runtime calls `Main` and waits for the returned `Task` to complete before the process exits. The return type can't be `void` or `int` because the `async` modifier requires a return type that the runtime can await—`void` and `int` don't represent ongoing work, so the process could exit before asynchronous operations finish. Use `Task` when you don't need an exit code, or `Task` when you do: :::code language="csharp" source="snippets/main-arguments/Program.cs" id="AsyncMain"::: -In both examples, the main body of the program is within the body of the `AsyncConsoleWork()` method. - -An advantage of declaring `Main` as `async` is that the compiler always generates the correct code. - -When the application entry point returns a `Task` or `Task`, the compiler generates a new entry point that calls the entry point method declared in the application code. Assuming that this entry point is called `$GeneratedMain`, the compiler generates the following code for these entry points: - -- `static Task Main()` results in the compiler emitting the equivalent of `private static void $GeneratedMain() => Main().GetAwaiter().GetResult();`. -- `static Task Main(string[])` results in the compiler emitting the equivalent of `private static void $GeneratedMain(string[] args) => Main(args).GetAwaiter().GetResult();`. -- `static Task Main()` results in the compiler emitting the equivalent of `private static int $GeneratedMain() => Main().GetAwaiter().GetResult();`. -- `static Task Main(string[])` results in the compiler emitting the equivalent of `private static int $GeneratedMain(string[] args) => Main(args).GetAwaiter().GetResult();`. - -> [!NOTE] -> If the examples use the `async` modifier on the `Main` method, the compiler generates the same code. - ## Command-line arguments -You can send arguments to the `Main` method by defining the method in one of the following ways: - -| `Main` declaration | `Main` method code | -|----------------------------------------------|-----------------------------------------| -| `static void Main(string[] args)` | No return value or `await` | -| `static int Main(string[] args)` | Returns a value but doesn't use `await` | -| `static async Task Main(string[] args)` | Uses `await` but doesn't return a value | -| `static async Task Main(string[] args)` | Return a value and uses `await` | +Include a `string[] args` parameter in your `Main` declaration to accept command-line arguments. If you don't need them, omit the parameter. The `args` parameter is a array that's never null—if no arguments are provided, its `Length` is zero. -If you don't use the arguments, you can omit `args` from the method declaration for slightly simpler code: - -| `Main` declaration | `Main` method code | -|---------------------------------|-----------------------------------------| -| `static void Main()` | No return value or `await` | -| `static int Main()` | Returns a value but doesn't use `await` | -| `static async Task Main()` | Uses `await` but doesn't return a value | -| `static async Task Main()` | Returns a value and uses `await` | - -> [!NOTE] -> You can also use or to access the command-line arguments from any point in a console or Windows Forms application. To enable command-line arguments in the `Main` method declaration in a Windows Forms application, you must manually modify the declaration of `Main`. The code generated by the Windows Forms designer creates `Main` without an input parameter. - -The parameter of the `Main` method is a array that represents the command-line arguments. Usually, you determine whether arguments exist by testing the `Length` property, for example: - -:::code language="csharp" source="snippets/main-command-line/Program.cs" ID="Snippet4"::: - -> [!TIP] -> The `args` array can't be null. So, it's safe to access the `Length` property without null checking. - -You can also convert the string arguments to numeric types by using the class or the `Parse` method. For example, the following statement converts the `string` to a `long` number by using the method: - -```csharp -long num = Int64.Parse(args[0]); -``` - -It's also possible to use the C# type `long`, which aliases `Int64`: +You can convert string arguments to other types by using `Parse` or : ```csharp long num = long.Parse(args[0]); ``` -You can also use the `Convert` class method `ToInt64` to do the same thing: - -```csharp -long num = Convert.ToInt64(s); -``` - -For more information, see and . - > [!TIP] > Parsing command-line arguments can be complex. Consider using the [System.CommandLine](../../../standard/commandline/index.md) library to simplify the process. -The following example shows how to use command-line arguments in a console application. The application takes one argument at run time, converts the argument to an integer, and calculates the factorial of the number. If no arguments are supplied, the application issues a message that explains the correct usage of the program. - -To compile and run the application from a command prompt, follow these steps: - -1. Paste the following code into any text editor, and then save the file as a text file with the name *Factorial.cs*. - - :::code language="csharp" source="./snippets/main-command-line/Factorial.cs"::: - - At the beginning of the `Main` method, the program tests if input arguments weren't supplied by comparing the length of the `args` argument to `0` and displays the help if no arguments are found.
- If arguments are provided (`args.Length` is greater than 0), the program tries to convert the input arguments to numbers. This example throws an exception if the argument isn't a number.
- After factorial is calculated (stored in `result` variable of type `long`), the verbose result is printed depending on the `result` variable. - -1. From the **Start** screen or **Start** menu, open a Visual Studio **Developer Command Prompt** window, and then navigate to the folder that contains the file that you created. - -1. To compile the application, enter the following command: - - `dotnet build` - - If your application has no compilation errors, the build process creates a binary file named *Factorial.dll*. - -1. Enter the following command to calculate the factorial of 3: - - `dotnet run -- 3` - -1. If you enter 3 on the command line as the program's argument, the output reads: `The factorial of 3 is 6.` - -> [!NOTE] -> When running an application in Visual Studio, specify command-line arguments in the [Debug Page, Project Designer](/visualstudio/ide/reference/debug-page-project-designer). +For a working example, see [How to display command-line arguments](../tutorials/how-to-display-command-line-arguments.md). ## C# language specification [!INCLUDE[CSharplangspec](~/includes/csharplangspec-md.md)] -## See also +## Related content - - [How to display command line arguments](../tutorials/how-to-display-command-line-arguments.md) diff --git a/docs/csharp/fundamentals/program-structure/namespaces.md b/docs/csharp/fundamentals/program-structure/namespaces.md new file mode 100644 index 0000000000000..7ca3f6f2a5432 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/namespaces.md @@ -0,0 +1,110 @@ +--- +title: "Namespaces and using directives" +description: Learn how to organize C# code with namespaces, file-scoped namespace declarations, global usings, static usings, and type aliases. +ms.date: 03/16/2026 +ai-usage: ai-assisted + +#customer intent: As a C# developer, I want to understand namespaces and using directives so that I can organize my types and simplify how I reference them in code. + +--- +# Namespaces and using directives + +> [!TIP] +> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. They introduce namespaces and `using` directives as you write your first programs. +> +> **Experienced in another language?** Namespaces in C# work similarly to packages in Java or modules in Python. Skim ahead to the syntax you need. + +Namespace declarations and `using` directives are related language features. A namespace declaration puts your types into an organized structure. A namespace groups related types together and prevents naming collisions. A `using` directive lets your program consume those types by their simple names. You don't have to spell out the full namespace path at every use. + +You've already used namespaces in every C# program you've written. Every .NET type belongs to a namespace, and every `using` directive at the top of a file references one. For example, `Console` and `Math` belong to the `System` namespace, so their fully qualified names are `System.Console` and `System.Math`. Collection types like `List` and `Dictionary` belong to `System.Collections.Generic`. A single `using` directive for any of these namespaces lets you refer to all its types by their simple names. You write `List` instead of `System.Collections.Generic.List` everywhere you use it. + +This article provides more background on how namespaces and `using` directives work, and shows examples of patterns you've already encountered in .NET libraries. + +A namespace contains types. Every .NET type belongs to a namespace. For example, consider `System.Threading.Tasks.Task`: the type `Task` belongs to the `System.Threading.Tasks` namespace. + +It's good practice to group related or similar types in the same namespace, and that's what .NET does with the types it provides. The `System.Collections.Generic` namespace contains collection-related types and the `System.IO` namespace contains types related reading and writing files, directories, and data. The `System` namespace contains fundamental types like `Math`, `DateTime`, and `Console`. + +The following example shows how namespaces work together with `using` directives in a typical C# file: + +:::code language="csharp" source="snippets/namespaces/Basics.cs" id="NamespaceBasics"::: + +In the preceding sample, the `using` directive means you can use the by the name `CultureInfo` without specifying the full name of `System.Globalization.CultureInfo`. The `namespace` directive declares that the `Greeter` class is part of the `MyApp.Services` namespace. Its fully qualified name is `MyApp.Services.Greeter`. + +## Namespace declarations + +A namespace declaration assigns your types to a named group. Every type you write should belong to a namespace. The namespace name typically mirrors the folder structure of your project. For example, types in a `Services/Payments` folder often belong to the `MyApp.Services.Payments` namespace. + +Namespaces use the `.` operator to express hierarchy, such as `System.Collections.Generic`. Namespace names must be valid C# [identifier names](../coding-style/identifier-names.md). + +### File-scoped namespaces + +Use the *file-scoped* syntax when all types in a file belong to the same namespace. Add a semicolon after the namespace declaration, and it applies to the entire file. You don't need extra braces or indentation: + +:::code language="csharp" source="snippets/namespaces/FileScopedExample.cs" id="FileScopedNamespace"::: + +File-scoped namespaces reduce nesting and make files easier to read. You can only have one file-scoped namespace declaration per file. + +> [!TIP] +> Use file-scoped namespaces in new code. Most .NET templates and code analyzers recommend this style. + +### Block-scoped namespaces + +Use *block-scoped* syntax when you need to declare more than one namespace in the same file. This style adds an extra level of indentation. + +> [!IMPORTANT] +> It's considered bad-practice to declare more than one namespace in the same file. The more common scenario is to use *file-scoped* namespaces. + +The following snippet is an example of a *block-scoped* namespace: + +:::code language="csharp" source="snippets/namespaces/BlockScoped.cs" id="BlockScopedNamespace"::: + +## Using directives + +Without a `using` directive, you must refer to every type by its *fully qualified name*, the complete namespace path plus the type name: + +:::code language="csharp" source="snippets/namespaces/Basics.cs" id="FullyQualifiedName"::: + +A `using` directive at the top of a file imports a namespace so you can use its types by their simple names: + +:::code language="csharp" source="snippets/namespaces/Basics.cs" id="UsingDirective"::: + +For more information, see the [`using` directive](../../language-reference/keywords/using-directive.md). + +### Global using directives + +If you write the same `using` directives in every file, *global using* directives let you declare them once for your entire project. Place them in any file. Many teams create a dedicated `GlobalUsings.cs` file: + +:::code language="csharp" source="snippets/namespaces/GlobalUsings.cs" id="GlobalUsings"::: + +After declaring a global using, every file in the project can refer to types from that namespace by using simple names without an additional `using` directive. + +### Implicit usings + +The .NET SDK automatically generates global using directives for the most common namespaces based on your project type. Enable implicit usings by setting `enable` in your project file. For example, a console app project automatically imports `System`, `System.Collections.Generic`, `System.IO`, `System.Linq`, `System.Threading`, and `System.Threading.Tasks`. The current SDK enables `ImplicitUsings` when you create a new project by using `dotnet new`. + +For more information, see [Implicit using directives](../../../core/project-sdk/overview.md#implicit-using-directives). + +### Static using directives + +A `static using` directive imports the static members of a type so you can call them without the type name prefix: + +:::code language="csharp" source="snippets/namespaces/StaticUsing.cs" id="StaticUsing"::: + +Static usings work well for utility classes like and that you call frequently. + +### Type and namespace aliases + +A `using` alias creates a shorthand name for a type or namespace. Aliases are useful for long generic types, resolving naming conflicts, and improving readability: + +:::code language="csharp" source="snippets/namespaces/Aliases.cs" id="TypeAlias"::: + +Starting with C# 12, you can alias any type, including tuples and pointer types: + +:::code language="csharp" source="snippets/namespaces/TupleAlias.cs" id="AnyTypeAlias"::: + +For more advanced scenarios where two assemblies define the same fully qualified type name, use [extern alias](../../language-reference/keywords/extern-alias.md) to disambiguate between them. + +## Related content + +- [`using` directive (language reference)](../../language-reference/keywords/using-directive.md) +- [Namespaces in the C# language specification](~/_csharpstandard/standard/namespaces.md) diff --git a/docs/csharp/fundamentals/program-structure/preprocessor-directives.md b/docs/csharp/fundamentals/program-structure/preprocessor-directives.md new file mode 100644 index 0000000000000..7411522c0a2f5 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/preprocessor-directives.md @@ -0,0 +1,81 @@ +--- +title: "Preprocessor directives" +description: Learn how to use the most common C# preprocessor directives—conditional compilation, regions, and warning suppression—in everyday development. +ms.date: 03/16/2026 +ai-usage: ai-assisted + +#customer intent: As a C# developer, I want to understand preprocessor directives so that I can control conditional compilation, configure file-based apps, and manage compiler warnings. + +--- +# Preprocessor directives + +> [!TIP] +> **New to developing software?** You won't need preprocessor directives right away. Focus on the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first and come back here when your projects require conditional compilation or build configuration. +> +> **Experienced in another language?** If you're familiar with `#ifdef` in C/C++ or conditional compilation in other languages, C# preprocessor directives work similarly. Skim ahead to the syntax you need. + +C# preprocessor directives tell the compiler what code to include, exclude, or treat differently when it builds your app. This guidance can change the resulting program. Preprocessor directives always start with `#` and must appear on their own line (ignoring leading whitespace). You can add a trailing comment after the directive. While the [language reference](../../language-reference/preprocessor-directives.md) documents all available directives, three groups cover everyday use: + +- **File-based apps** (`#:`) - configure file-based apps. +- **Conditional compilation** (`#if` / `#elif` / `#else` / `#endif`) — include or exclude code based on build configuration or target framework. +- **Warning suppression** (`#pragma warning`) — suppress or restore specific compiler warnings. + +## File-based app directives + +Starting with C# 14, [file-based apps](index.md) use two additional directives: + +- `#!` — the *shebang* line that lets Unix shells run the file directly (for example, `#!/usr/bin/env dotnet run`). +- `#:` — build-system directives that configure packages, SDK settings, and other options for single-file programs. + +Use `#:package` to add a NuGet package. For example, the following file-based app uses the `Spectre.Console` package to render styled output: + +```csharp +#!/usr/bin/env dotnet run +#:package Spectre.Console@* + +AnsiConsole.MarkupLine("[bold green]Hello[/] from a file-based app!"); +``` + +You can specify an exact version with `@`, or use `@*` to pull the latest version. Add multiple `#:package` directives to include more packages: + +```csharp +#:package Serilog@3.1.1 +``` + +Other `#:` directives let you reference projects, set MSBuild properties, or change the SDK: + +```csharp +#:project ../SharedLibrary/SharedLibrary.csproj +#:property PublishAot=false +#:sdk Microsoft.NET.Sdk.Web +``` + +For the full list of directives, see [File-based apps](../../../core/sdk/file-based-apps.md) and the [language reference](../../language-reference/preprocessor-directives.md#file-based-apps). + +## Conditional compilation + +Use `#if`, `#elif`, `#else`, and `#endif` to include or exclude code based on whether a symbol is defined. The most common symbols are `DEBUG` (set automatically for Debug builds) and target framework symbols like `NET10_0_OR_GREATER`: + +:::code language="csharp" source="snippets/preprocessor-directives/Program.cs" id="ConditionalCompilation"::: + +The build system defines the `DEBUG` symbol when you build in the Debug configuration. You don't need to define it yourself. Target framework symbols like `NET10_0_OR_GREATER` and `NET8_0_OR_GREATER` let you write code that adapts to different .NET versions in multi-targeting projects. + +You can combine symbols with logical operators: `&&` (and), `||` (or), and `!` (not): + +:::code language="csharp" source="snippets/preprocessor-directives/Program.cs" id="CombinedConditions"::: + +Use `#define` at the top of a file to define your own symbols. You can also define symbols for the entire project by using the [`DefineConstants`](../../language-reference/compiler-options/language.md#defineconstants) property in your project file. + +## Warning suppression + +Use `#pragma warning disable` to suppress specific compiler warnings, and `#pragma warning restore` to re-enable them. Always scope the suppression as narrowly as possible: + +:::code language="csharp" source="snippets/preprocessor-directives/PragmaWarning.cs" id="PragmaWarning"::: + +> [!TIP] +> Always specify the warning number, such as `CS0168`, rather than disabling all warnings. This approach keeps the suppression targeted and makes it clear *why* a warning is being suppressed. + +## Related content + +- [C# preprocessor directives (language reference)](../../language-reference/preprocessor-directives.md) +- [File-based apps](../../../core/sdk/file-based-apps.md) diff --git a/docs/csharp/fundamentals/program-structure/program-organization.md b/docs/csharp/fundamentals/program-structure/program-organization.md new file mode 100644 index 0000000000000..1b3a6fa0b0640 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/program-organization.md @@ -0,0 +1,93 @@ +--- +title: "Program organization" +description: Learn how to organize C# programs using solutions, projects, assemblies, namespaces, and types to build maintainable, well-structured applications. +ms.date: 03/16/2026 +ai-usage: ai-assisted + +#customer intent: As a C# developer, I want to understand how to organize my code using solutions, projects, assemblies, and namespaces so that I can build maintainable applications. + +--- +# Program organization + +> [!TIP] +> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. You'll learn about program organization naturally as your projects grow. +> +> **Experienced in another language?** If you're familiar with solutions and projects in Visual Studio, or build systems like Maven or Cargo, this article maps those concepts to .NET. + +As a C# application grows, you need to organize the code. .NET provides a hierarchy of organizational tools—solutions, projects, assemblies, namespaces, and types—that work together to keep large codebases manageable. The conventions described here represent broad consensus in the .NET community. You might deviate for specific reasons, but following these conventions makes your code familiar and navigable to other .NET developers. + +## The organizational hierarchy + +Organize a typical .NET application in layers, from broadest to most specific: + +| Level | Description | Example | +|---------------|------------------------------------------------------|-------------------------| +| **Solution** | A container that groups related projects. | `MyApp.slnx` | +| **Project** | A build unit that produces one assembly. | `MyApp.Web.csproj` | +| **Assembly** | The compiled `.dll` or `.exe` produced by a project. | `MyApp.Web.dll` | +| **Namespace** | A logical grouping of types. | `MyApp.Web.Controllers` | +| **Type** | A class, struct, interface, enum, or delegate. | `OrderController` | + +Each level serves a different purpose. Solutions organize your development workflow. Projects define what gets compiled together, and each project produces one assembly. Assemblies are the unit of deployment and versioning. Namespaces prevent naming collisions and make types easy to find. A single assembly can contain multiple namespaces, and a single namespace can span multiple assemblies. Types define the actual behavior and data. + +## Projects and assemblies + +Each project compiles into a single assembly: a class library or executable. Start with a single project for small applications—don't split prematurely. The primary reason to create a separate project is to reuse that code in more than one application. Beyond reuse, add projects when you have a concrete reason: + +- **Share code across applications** — extract shared logic into a class library that multiple apps reference. +- **Separate concerns** — keep your data access, business logic, and presentation layers independent. +- **Control dependencies** — a project can only use types from projects it explicitly references. + +A single project works well for many applications. Resist the urge to create separate projects "just in case." You can always extract a library later when a second application needs the same code. + +## Match namespaces to folder structure + +Namespace names should follow the folder structure of your project. When you see the namespace `MyApp.Services.Payments`, you know to look in the `Services/Payments` folder for the source code of the types defined in that namespace. The .NET SDK supports this convention, and it is so widely followed that violating it actively confuses other developers: + +:::code language="csharp" source="snippets/organizing-programs/OrderService.cs" id="NamespaceMirroring"::: + +Your root namespace is automatically set to the name of your project file. Types in subfolders don't automatically get sub-namespaces—you declare the namespace explicitly in each file—but always keep them in sync. + +> [!TIP] +> You can change the root namespace by setting `` in your project file. +> +> ```xml +> +> +> MyCompany.MyApp +> +> +> ``` + +## Organize namespaces by feature, not by type kind + +Group related types into namespaces by feature or responsibility. Place an interface, its implementations, and supporting types together: + +:::code language="csharp" source="snippets/organizing-programs/Payments.cs" id="FeatureOrganization"::: + +Feature-based organization keeps everything you need in one place, making the code easier to navigate and reason about. + +## Access modifiers and assemblies + +Access modifiers work with the project and assembly structure to control accessibility: + +- [`public`](../../language-reference/keywords/public.md) — accessible from any assembly that references this assembly. +- [`internal`](../../language-reference/keywords/internal.md) — accessible only within the same assembly (the default for top-level types). +- [`private`](../../language-reference/keywords/private.md), [`protected`](../../language-reference/keywords/protected.md), [`private protected`](../../language-reference/keywords/private-protected.md), [`protected internal`](../../language-reference/keywords/protected-internal.md) — accessible based on the containing type, the assembly, or derived types. + +Default to `internal` for types that other projects don't need. This practice hides implementation details and gives you freedom to refactor without breaking consumers. It's especially important for shared libraries: + +:::code language="csharp" source="snippets/organizing-programs/Inventory.cs" id="AccessModifiers"::: + +## Recommended practices + +- **Name namespaces consistently.** Use `CompanyName.ProductName.Feature` as your naming pattern. For example, use `Contoso.Inventory.Shipping`. Consistent naming helps developers find types without searching. +- **Keep projects focused.** Each project should have a single, clear responsibility. When a project handles too many unrelated concerns, split it. +- **Use file-scoped namespaces.** The `namespace MyApp.Services;` syntax reduces indentation and is the recommended style. Use it in all new code. +- **Default to `internal`.** Only mark types `public` when other assemblies genuinely need them. You can always widen access later; narrowing it is a breaking change. + +## Related content + +- [Namespaces and using directives](namespaces.md) +- [Assemblies in .NET](../../../standard/assembly/index.md) +- [.NET project SDKs](../../../core/project-sdk/overview.md) diff --git a/docs/csharp/fundamentals/program-structure/snippets/main-arguments/main-arguments.csproj b/docs/csharp/fundamentals/program-structure/snippets/main-arguments/main-arguments.csproj index f704bf4988fa6..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/main-arguments/main-arguments.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/main-arguments/main-arguments.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/main-command-line/Factorial.cs b/docs/csharp/fundamentals/program-structure/snippets/main-command-line/Factorial.cs deleted file mode 100644 index 92146997ad4d2..0000000000000 --- a/docs/csharp/fundamentals/program-structure/snippets/main-command-line/Factorial.cs +++ /dev/null @@ -1,50 +0,0 @@ -public class Functions -{ - public static long Factorial(int n) - { - // Test for invalid input. - if ((n < 0) || (n > 20)) - { - return -1; - } - - // Calculate the factorial iteratively rather than recursively. - long tempResult = 1; - for (int i = 1; i <= n; i++) - { - tempResult *= i; - } - return tempResult; - } -} - -class MainClass -{ - static int Main(string[] args) - { - if (args.Length == 0) - { - Console.WriteLine("Please enter a numeric argument."); - Console.WriteLine("Usage: Factorial "); - return 1; - } - - int num; - bool test = int.TryParse(args[0], out num); - if (!test) - { - Console.WriteLine("Please enter a numeric argument."); - Console.WriteLine("Usage: Factorial "); - return 1; - } - - long result = Functions.Factorial(num); - - if (result == -1) - Console.WriteLine("Input must be >= 0 and <= 20."); - else - Console.WriteLine($"The Factorial of {num} is {result}."); - - return 0; - } -} diff --git a/docs/csharp/fundamentals/program-structure/snippets/main-command-line/main-command-line.csproj b/docs/csharp/fundamentals/program-structure/snippets/main-command-line/main-command-line.csproj index c39b1f8d62483..d57b9788c6700 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/main-command-line/main-command-line.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/main-command-line/main-command-line.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable main_command_line diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/Aliases.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/Aliases.cs new file mode 100644 index 0000000000000..f37bdbef09d41 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/Aliases.cs @@ -0,0 +1,14 @@ +// +using CustomerList = System.Collections.Generic.List; + +namespace MyApp.Services; + +class CustomerService +{ + public CustomerList GetTopCustomers() + { + CustomerList customers = [new() { Name = "Alice" }, new() { Name = "Bob" }]; + return customers; + } +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/Basics.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/Basics.cs new file mode 100644 index 0000000000000..c2d38335bab1f --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/Basics.cs @@ -0,0 +1,42 @@ +// +using System.Globalization; + +namespace MyApp.Services; + +class Greeter +{ + public string Greet(string name) + { + var culture = CultureInfo.CurrentCulture; + return $"Hello, {name}! Culture: {culture.Name}"; + } +} +// + +class Program +{ + // + static void ShowFullyQualified() + { + // Without a using directive, use the fully qualified name: + System.Console.WriteLine("Hello from fully qualified name!"); + } + // + + // + static void ShowShortName() + { + // With 'using System;' (or implicit usings enabled), use the short name: + Console.WriteLine("Hello from short name!"); + } + // + + static void Main() + { + ShowFullyQualified(); + ShowShortName(); + + var greeter = new Greeter(); + Console.WriteLine(greeter.Greet("World")); + } +} diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/BlockScoped.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/BlockScoped.cs new file mode 100644 index 0000000000000..7fabf6c993cee --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/BlockScoped.cs @@ -0,0 +1,12 @@ +// +namespace MyApp.Models +{ + class Product + { + public required string Name { get; init; } + public decimal Price { get; init; } + + public override string ToString() => $"{Name}: {Price:C}"; + } +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/FileScopedExample.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/FileScopedExample.cs new file mode 100644 index 0000000000000..3488c1aa4dd73 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/FileScopedExample.cs @@ -0,0 +1,11 @@ +// +namespace MyApp.Models; + +class Customer +{ + public required string Name { get; init; } + public string? Email { get; init; } + + public override string ToString() => $"{Name} ({Email ?? "no email"})"; +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/GlobalUsings.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/GlobalUsings.cs new file mode 100644 index 0000000000000..2308ad90f0239 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/GlobalUsings.cs @@ -0,0 +1,4 @@ +// +global using System.Text; +global using System.Text.Json; +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/StaticUsing.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/StaticUsing.cs new file mode 100644 index 0000000000000..0018dc389308e --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/StaticUsing.cs @@ -0,0 +1,12 @@ +// +using static System.Math; + +namespace MyApp.Utilities; + +class CircleCalculator +{ + public static double CalculateArea(double radius) => PI * Pow(radius, 2); + + public static double CalculateCircumference(double radius) => 2 * PI * radius; +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/namespaces/TupleAlias.cs b/docs/csharp/fundamentals/program-structure/snippets/namespaces/TupleAlias.cs new file mode 100644 index 0000000000000..6af3b74b574f6 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/TupleAlias.cs @@ -0,0 +1,15 @@ +// +using Point = (double X, double Y); + +namespace MyApp.Geometry; + +class Shape +{ + public static double Distance(Point a, Point b) + { + var dx = a.X - b.X; + var dy = a.Y - b.Y; + return Math.Sqrt(dx * dx + dy * dy); + } +} +// diff --git a/docs/csharp/fundamentals/types/snippets/namespaces/namespaces.csproj b/docs/csharp/fundamentals/program-structure/snippets/namespaces/namespaces.csproj similarity index 62% rename from docs/csharp/fundamentals/types/snippets/namespaces/namespaces.csproj rename to docs/csharp/fundamentals/program-structure/snippets/namespaces/namespaces.csproj index af31fefa23aa5..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/types/snippets/namespaces/namespaces.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/namespaces/namespaces.csproj @@ -2,8 +2,9 @@ Exe - net8.0 + net10.0 enable + enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/AppDemo.cs b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/AppDemo.cs new file mode 100644 index 0000000000000..50e96328fd567 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/AppDemo.cs @@ -0,0 +1,12 @@ +// +// MyApp.Core (class library) — shared business logic +namespace MyApp.Core; + +public class Order +{ + public required string ProductName { get; init; } + public int Quantity { get; init; } + public decimal UnitPrice { get; init; } + public decimal Total => Quantity * UnitPrice; +} +// \ No newline at end of file diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Inventory.cs b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Inventory.cs new file mode 100644 index 0000000000000..8079d614e2a4a --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Inventory.cs @@ -0,0 +1,23 @@ +// +namespace MyApp.Inventory; + +// Public — other projects can use this type +public class InventoryService +{ + public int GetStockLevel(string productName) => + StockDatabase.Lookup(productName); +} + +// Internal — only visible within this assembly +internal static class StockDatabase +{ + private static readonly Dictionary _stock = new() + { + ["Widget"] = 42, + ["Gadget"] = 17 + }; + + internal static int Lookup(string productName) => + _stock.GetValueOrDefault(productName); +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/OrderService.cs b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/OrderService.cs new file mode 100644 index 0000000000000..2b6e5e466c095 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/OrderService.cs @@ -0,0 +1,16 @@ +// +// File: Services/OrderService.cs +// Namespace mirrors the folder path +using MyApp.Core; + +namespace MyApp.Services; + +public class OrderService +{ + public Order CreateOrder(string product, int quantity, decimal price) => + new() { ProductName = product, Quantity = quantity, UnitPrice = price }; + + public string FormatSummary(Order order) => + $"{order.Quantity}x {order.ProductName} = {order.Total:C}"; +} +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Payments.cs b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Payments.cs new file mode 100644 index 0000000000000..a301bb81b9c54 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Payments.cs @@ -0,0 +1,20 @@ +// +// Good: group by feature +namespace MyApp.Payments; + +public interface IPaymentProcessor +{ + bool ProcessPayment(decimal amount); +} + +public class CreditCardProcessor : IPaymentProcessor +{ + public bool ProcessPayment(decimal amount) + { + Console.WriteLine($"Processing credit card payment of {amount:C}"); + return true; + } +} + +public record PaymentResult(bool Success, string? TransactionId); +// diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Program.cs b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Program.cs new file mode 100644 index 0000000000000..5414f2195ff12 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/Program.cs @@ -0,0 +1,13 @@ +using MyApp.Services; +using MyApp.Payments; +using MyApp.Inventory; + +var service = new OrderService(); +var order = service.CreateOrder("Widget", 3, 9.99m); +Console.WriteLine(service.FormatSummary(order)); + +var processor = new CreditCardProcessor(); +processor.ProcessPayment(order.Total); + +var inventory = new InventoryService(); +Console.WriteLine($"Stock level for Widget: {inventory.GetStockLevel("Widget")}"); diff --git a/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/organizing-programs.csproj b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/organizing-programs.csproj new file mode 100644 index 0000000000000..f2e4508cfb6e2 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/organizing-programs/organizing-programs.csproj @@ -0,0 +1,11 @@ + + + + Exe + net10.0 + enable + enable + MyApp + + + diff --git a/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/PragmaWarning.cs b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/PragmaWarning.cs new file mode 100644 index 0000000000000..b5a5dfa5ed741 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/PragmaWarning.cs @@ -0,0 +1,23 @@ +namespace MyApp.Utilities; + +class WarningDemo +{ + // + static void ProcessData() + { + try + { + // Some operation that might fail + var data = File.ReadAllText("config.json"); + Console.WriteLine($"Config loaded: {data.Length} characters"); + } +#pragma warning disable CS0168 // Variable is declared but never used + catch (FileNotFoundException ex) +#pragma warning restore CS0168 + { + // Fall back to defaults — the exception details aren't needed here + Console.WriteLine("Config file not found, using defaults."); + } + } + // +} diff --git a/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/Program.cs b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/Program.cs new file mode 100644 index 0000000000000..ee5e9227a1443 --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/Program.cs @@ -0,0 +1,26 @@ +// +static void ConfigureLogging() +{ +#if DEBUG + Console.WriteLine("Debug logging enabled — verbose output active."); +#else + Console.WriteLine("Release logging — errors only."); +#endif +} +// + +// +static void ShowPlatformInfo() +{ +#if NET10_0_OR_GREATER + Console.WriteLine("Running on .NET 10 or later."); +#elif NET8_0_OR_GREATER + Console.WriteLine("Running on .NET 8 or 9."); +#else + Console.WriteLine("Running on an older .NET version."); +#endif +} +// + +ConfigureLogging(); +ShowPlatformInfo(); diff --git a/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/preprocessor-directives.csproj b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/preprocessor-directives.csproj new file mode 100644 index 0000000000000..0ece068f6df1a --- /dev/null +++ b/docs/csharp/fundamentals/program-structure/snippets/preprocessor-directives/preprocessor-directives.csproj @@ -0,0 +1,10 @@ + + + + Exe + net10.0 + enable + enable + + + diff --git a/docs/csharp/fundamentals/program-structure/snippets/structure/Program.cs b/docs/csharp/fundamentals/program-structure/snippets/structure/Program.cs index d59cd3f808519..4ba1411773bba 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/structure/Program.cs +++ b/docs/csharp/fundamentals/program-structure/snippets/structure/Program.cs @@ -1,37 +1,10 @@ -// A skeleton of a C# program -using System; -namespace YourNamespace -{ - class YourClass - { - } - - struct YourStruct - { - } - - interface IYourInterface - { - } +// A skeleton of a C# program using an explicit Main method +namespace YourNamespace; - delegate int YourDelegate(); - - enum YourEnum - { - } - - namespace YourNestedNamespace - { - struct YourStruct - { - } - } - - class Program +class Program +{ + static void Main(string[] args) { - static void Main(string[] args) - { - Console.WriteLine("Hello world!"); - } + Console.WriteLine("Hello, World!"); } } diff --git a/docs/csharp/fundamentals/program-structure/snippets/structure/structure.csproj b/docs/csharp/fundamentals/program-structure/snippets/structure/structure.csproj index f704bf4988fa6..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/structure/structure.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/structure/structure.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-1/top-level-statements.csproj b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-1/top-level-statements.csproj index f704bf4988fa6..38452f1b41daf 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-1/top-level-statements.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-1/top-level-statements.csproj @@ -1,8 +1,8 @@ - + Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-2/top-level-statements.csproj b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-2/top-level-statements.csproj index 9b8f56f2f11f9..38452f1b41daf 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-2/top-level-statements.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-2/top-level-statements.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-3/top-level-statements.csproj b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-3/top-level-statements.csproj index f704bf4988fa6..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-3/top-level-statements.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-3/top-level-statements.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-4/top-level-statements.csproj b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-4/top-level-statements.csproj index f704bf4988fa6..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-4/top-level-statements.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-4/top-level-statements.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-5/top-level-statements.csproj b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-5/top-level-statements.csproj index f704bf4988fa6..0ece068f6df1a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-5/top-level-statements.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/top-level-statements-5/top-level-statements.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/Program.cs b/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/Program.cs index 22db26f9b83ea..f61119dd5bf2a 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/Program.cs +++ b/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/Program.cs @@ -1,6 +1,4 @@ -using System; - -Console.WriteLine("Hello world!"); +Console.WriteLine("Hello, World!"); namespace YourNamespace { @@ -21,11 +19,4 @@ interface IYourInterface enum YourEnum { } - - namespace YourNestedNamespace - { - struct YourStruct - { - } - } } diff --git a/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/toplevel-structure.csproj b/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/toplevel-structure.csproj index 029d5f304b855..f92eec29f31f0 100644 --- a/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/toplevel-structure.csproj +++ b/docs/csharp/fundamentals/program-structure/snippets/toplevel-structure/toplevel-structure.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable toplevel_structure diff --git a/docs/csharp/fundamentals/program-structure/top-level-statements.md b/docs/csharp/fundamentals/program-structure/top-level-statements.md index f79dad8c10a60..e4032385027c9 100644 --- a/docs/csharp/fundamentals/program-structure/top-level-statements.md +++ b/docs/csharp/fundamentals/program-structure/top-level-statements.md @@ -1,18 +1,20 @@ --- title: "Top-level statements - programs without Main methods" description: Learn about top-level statements. You can create programs without the ceremony of a Program class and a Main method. -ms.date: 01/12/2026 -helpviewer_keywords: - - "C# language, top-level statements" - - "C# language, Main method" +ms.date: 03/16/2026 +ai-usage: ai-assisted + +#customer intent: As a C# developer, I want to understand top-level statements so that I can write programs without explicit Main method boilerplate. + --- # Top-level statements - programs without `Main` methods -You don't have to explicitly include a `Main` method in a console application project. Instead, you can use the *top-level statements* feature to minimize the code you have to write. +> [!TIP] +> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. Those tutorials use top-level statements, so you'll already be familiar with the basics. +> +> **Looking for the `Main` method alternative?** See [Main method entry point](main-command-line.md) for the explicit `Main` method approach. -Top-level statements allow you to write executable code directly at the root of a file, eliminating the need for wrapping your code in a class or method. -This means you can create programs without the ceremony of a `Program` class and a `Main` method. -In this case, the compiler generates a `Program` class with an entry point method for the application. The name of the generated method isn't `Main`, it's an implementation detail that your code can't reference directly. +Use *top-level statements* for new apps. By using top-level statements, you can write executable code directly at the root of a file. Here's a *Program.cs* file that is a complete C# program: @@ -20,74 +22,55 @@ Here's a *Program.cs* file that is a complete C# program: Console.WriteLine("Hello World!"); ``` -Top-level statements let you write simple programs for small utilities such as Azure Functions and GitHub Actions. They also make it simpler for new C# programmers to get started learning and writing code. +When you create a new console app by using `dotnet new console`, it uses top-level statements by default. They work well for programs of any size - from small utilities and Azure Functions to full applications. If you have an existing application that uses an explicit `Main` method, there's no need to convert it. Both styles compile to equivalent code. The following sections explain the rules on what you can and can't do with top-level statements. -## Only one top-level file - -An application must have only one entry point. A project can have only one file with top-level statements. Putting top-level statements in more than one file in a project results in the following compiler error: - -> CS8802 Only one compilation unit can have top-level statements. +## Entry point rules -A project can have any number of source code files that don't have top-level statements. +An application must have only one entry point. A project can have only one file with top-level statements, but it can have any number of source code files that don't have top-level statements. You can explicitly write a `Main` method, but it can't function as an entry point. In a project with top-level statements, you can't use the [`-main`](../../language-reference/compiler-options/advanced.md#startupobject) compiler option to select the entry point, even if the project has one or more `Main` methods. -## No other entry points - -You can explicitly write a `Main` method, but it can't function as an entry point. The compiler issues the following warning: +The compiler generates a method to serve as the program entry point for a project with top-level statements. The signature of the method depends on whether the top-level statements contain the `await` keyword or the `return` statement. The following table shows what the method signature looks like, using the method name `Main` in the table for convenience. -> CS7022 The entry point of the program is global code; ignoring 'Main()' entry point. +| Top-level code contains | Implicit `Main` signature | +|-------------------------|----------------------------------------------| +| `await` and `return` | `static async Task Main(string[] args)` | +| `await` | `static async Task Main(string[] args)` | +| `return` | `static int Main(string[] args)` | +| No `await` or `return` | `static void Main(string[] args)` | -In a project with top-level statements, you can't use the [-main](../../language-reference/compiler-options/advanced.md#startupobject) compiler option to select the entry point, even if the project has one or more `Main` methods. +Starting with C# 14, programs can be [*file-based apps*](./index.md#building-and-running-c-programs), where a single file contains the program. You run *file-based apps* by using the command `dotnet `, or by using the `#!/usr/bin/env dotnet` directive as the first line (Unix shells only). ## `using` directives -For the single file containing top-level statements, `using` directives must come first in that file, as in this example: +For the single file containing top-level statements, `using` directives must come first in that file, as in the following example: :::code language="csharp" source="snippets/top-level-statements-1/Program.cs"::: -## Global namespace - -Top-level statements are implicitly in the global namespace. - ## Namespaces and type definitions -A file with top-level statements can also contain namespaces and type definitions, but they must come after the top-level statements. For example: +Top-level statements are implicitly in the global namespace. A file with top-level statements can also contain namespaces and type definitions, but they must come after the top-level statements. For example: :::code language="csharp" source="snippets/top-level-statements-2/Program.cs"::: ## `args` -Top-level statements can reference the `args` variable to access any command-line arguments that were entered. The `args` variable is never null but its `Length` is zero if no command-line arguments were provided. For example: +Top-level statements can reference the `args` variable to access any command-line arguments passed to the app when it starts. The `args` variable is never `null`, but its `Length` is zero if no command-line arguments were provided. For example: :::code language="csharp" source="snippets/top-level-statements-3/Program.cs"::: -## `await` +## `await` and exit code -Use `await` to call an async method. For example: +Use `await` to call an async method. When your top-level code contains `await`, the compiler generates an entry point that returns a `Task`. The runtime monitors that `Task` for completion, keeping the process alive until all asynchronous work finishes. For example: :::code language="csharp" source="snippets/top-level-statements-4/Program.cs"::: -## Exit code for the process - -To return an `int` value when the application ends, use the `return` statement as you would in a `Main` method that returns an `int`. For example: +To return an exit code when the application ends, use the `return` statement. The compiler generates an entry point that returns `Task` when your code contains both `await` and `return`, or `int` when it contains only `return`. For example: :::code language="csharp" source="snippets/top-level-statements-5/Program.cs"::: -## Implicit entry point method - -The compiler generates a method to serve as the program entry point for a project with top-level statements. The signature of the method depends on whether the top-level statements contain the `await` keyword or the `return` statement. The following table shows what the method signature looks like, using the method name `Main` in the table for convenience. - -| Top-level code contains | Implicit `Main` signature | -|-------------------------|----------------------------------------------| -| `await` and `return` | `static async Task Main(string[] args)` | -| `await` | `static async Task Main(string[] args)` | -| `return` | `static int Main(string[] args)` | -| No `await` or `return` | `static void Main(string[] args)` | - -Starting with C# 14, programs can be [*file-based apps*](./index.md#building-and-running-c-programs), where a single file contains the program. You run *file-based apps* by using the command `dotnet `, or by using the `#!/usr/bin/env dotnet` directive as the first line (Unix shells only). - -## C# language specification +## Related content -[!INCLUDE[CSharplangspec](~/includes/csharplangspec-md.md)] -[Feature specification - Top-level statements](~/_csharplang/proposals/csharp-9.0/top-level-statements.md) +- [Main() and command-line arguments](main-command-line.md) +- [General structure of a C# program](index.md) +- [Feature specification - Top-level statements](~/_csharplang/proposals/csharp-9.0/top-level-statements.md) diff --git a/docs/csharp/fundamentals/types/namespaces.md b/docs/csharp/fundamentals/types/namespaces.md deleted file mode 100644 index 3300b2a2a6057..0000000000000 --- a/docs/csharp/fundamentals/types/namespaces.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Organizing types in namespaces" -description: Learn how namespaces help you organize related types. -ms.date: 11/24/2024 -helpviewer_keywords: - - "C# language, namespaces" - - "namespaces [C#]" ---- -# Declare namespaces to organize types - -Namespaces are heavily used in C# programming in two ways. First, .NET uses namespaces to organize its many classes, as follows: - -:::code language="csharp" source="snippets/namespaces/Program.cs" ID="Snippet22"::: - - is a namespace and is a class in that namespace. The `using` keyword can be used so that the complete name isn't required, as in the following example: - -:::code language="csharp" source="snippets/namespaces/Program.cs" ID="Snippet1"::: - -:::code language="csharp" source="snippets/namespaces/Program.cs" ID="Snippet23"::: - -For more information, see the [using directive](../../language-reference/keywords/using-directive.md). - -You can also create an **alias** for a namespace or type using the [using alias directive](../../language-reference/keywords/using-directive.md#the-using-alias). -In more advanced scenarios, you can reference multiple assemblies with the same namespaces or types by using the [extern alias](../../language-reference/keywords/extern-alias.md) feature. - -[!INCLUDE [csharp10-templates](../../../../includes/csharp10-templates.md)] - -Second, declaring your own namespaces can help you control the scope of class and method names in larger programming projects. Use the [namespace](../../language-reference/keywords/namespace.md) keyword to declare a namespace, as in the following example: - -:::code language="csharp" source="snippets/namespaces/Program.cs" ID="Snippet6"::: - -The name of the namespace must be a valid C# [identifier name](../coding-style/identifier-names.md). - -You can declare a namespace for all types defined in that file, as shown in the following example: - -:::code language="csharp" source="snippets/namespaces/filescopednamespace.cs"::: - -The advantage of this new syntax is that it's simpler, saving horizontal space and braces. That makes your code easier to read. - -## Namespaces overview - -Namespaces have the following properties: - -- They organize large code projects. -- They're delimited by using the `.` operator. -- The `using` directive obviates the requirement to specify the name of the namespace for every class. -- The `global` namespace is the "root" namespace: `global::System` always refers to the .NET namespace. - -## C# language specification - -For more information, see the [Namespaces](~/_csharpstandard/standard/namespaces.md) section of the [C# language specification](~/_csharpstandard/standard/README.md). diff --git a/docs/csharp/fundamentals/types/snippets/namespaces/Program.cs b/docs/csharp/fundamentals/types/snippets/namespaces/Program.cs deleted file mode 100644 index 4d5825017c087..0000000000000 --- a/docs/csharp/fundamentals/types/snippets/namespaces/Program.cs +++ /dev/null @@ -1,35 +0,0 @@ -// -using System; -// - -namespace namespaces -{ - class Program - { - static void Main(string[] args) - { - // - System.Console.WriteLine("Hello World!"); - // - - // - Console.WriteLine("Hello World!"); - // - } - } -} - -// -namespace SampleNamespace -{ - class SampleClass - { - public void SampleMethod() - { - System.Console.WriteLine( - "SampleMethod inside SampleNamespace"); - } - } -} -// - diff --git a/docs/csharp/fundamentals/types/snippets/namespaces/filescopednamespace.cs b/docs/csharp/fundamentals/types/snippets/namespaces/filescopednamespace.cs deleted file mode 100644 index 38abdbeab7d4a..0000000000000 --- a/docs/csharp/fundamentals/types/snippets/namespaces/filescopednamespace.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace SampleNamespace; - -class AnotherSampleClass -{ - public void AnotherSampleMethod() - { - System.Console.WriteLine( - "SampleMethod inside SampleNamespace"); - } -} - diff --git a/docs/csharp/language-reference/compiler-messages/async-await-errors.md b/docs/csharp/language-reference/compiler-messages/async-await-errors.md index 68613fe90746a..643d9d35f6db0 100644 --- a/docs/csharp/language-reference/compiler-messages/async-await-errors.md +++ b/docs/csharp/language-reference/compiler-messages/async-await-errors.md @@ -203,7 +203,7 @@ The following items explain how to correct each error. For more information abou - Change the return expression to match the async method's underlying result type (**CS1983**, **CS4016**). When an async method returns `Task`, the `return` statement must supply a value of type `T`, not `Task`, because the compiler-generated [state machine](../../asynchronous-programming/task-asynchronous-programming-model.md) wraps the value in a task automatically. **CS1983** appears when the method returns `Task` and the expression is `T`; **CS4016** covers the general case where the return expression type doesn't match. - Remove the [`async`](../keywords/async.md) modifier from methods that don't have a body, such as abstract methods or interface method declarations (**CS1994**). The `async` modifier requires a method body so the compiler can generate the state machine implementation. -- Change an async entry point's return type to or (**CS4009**). Starting with C# 7.1, the [`Main` method](../../fundamentals/program-structure/main-command-line.md#async-main-return-values) can be `async`, but it must return `Task` or `Task` - `async void` and `async int` aren't valid entry point signatures. +- Change an async entry point's return type to or (**CS4009**). Starting with C# 7.1, the [`Main` method](../../fundamentals/program-structure/main-command-line.md#main-return-values) can be `async`, but it must return `Task` or `Task` - `async void` and `async int` aren't valid entry point signatures. - Remove or rename one entry point when the project contains both a synchronous and an asynchronous `Main` method (**CS8892**). The compiler selects the synchronous entry point and issues this warning for the async candidate that it ignores. - Add an explicit return type to the lambda expression before applying the [`[AsyncMethodBuilder]`](xref:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute) attribute (**CS8935**). The compiler can't resolve the builder type for an anonymous method whose return type is inferred, because the attribute must be matched to a specific return type at compile time. - Change the type specified in the [`[AsyncMethodBuilder]`](xref:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute) attribute to an unbound generic type of arity one, such as `MyTaskMethodBuilder<>` rather than `MyTaskMethodBuilder` or a non-generic type (**CS8940**). The builder's containing type, if any, must also be non-generic. The compiler requires this shape so it can construct the builder for any concrete task-like return type. diff --git a/docs/csharp/language-reference/keywords/namespace.md b/docs/csharp/language-reference/keywords/namespace.md index 6a67cef3da439..dd68dac1fe067 100644 --- a/docs/csharp/language-reference/keywords/namespace.md +++ b/docs/csharp/language-reference/keywords/namespace.md @@ -102,4 +102,4 @@ For more information on file scoped namespace declarations, see the [feature spe - [using](using-directive.md) - [using static](using-directive.md) - [Namespace alias qualifier `::`](../operators/namespace-alias-qualifier.md) -- [Namespaces](../../fundamentals/types/namespaces.md) +- [Namespaces](../../fundamentals/program-structure/namespaces.md) diff --git a/docs/csharp/language-reference/keywords/using-directive.md b/docs/csharp/language-reference/keywords/using-directive.md index 82530486f736f..6ebbd9282ed64 100644 --- a/docs/csharp/language-reference/keywords/using-directive.md +++ b/docs/csharp/language-reference/keywords/using-directive.md @@ -187,7 +187,7 @@ For more information on the *global using* modifier, see the [global usings feat ## See also - [C# keywords](index.md) -- [Namespaces](../../fundamentals/types/namespaces.md) +- [Namespaces](../../fundamentals/program-structure/namespaces.md) - [Style rule IDE0005 - Remove unnecessary 'using' directives](../../../fundamentals/code-analysis/style-rules/ide0005.md) - [Style rule IDE0065 - 'using' directive placement](../../../fundamentals/code-analysis/style-rules/ide0065.md) - [`using` statement](../statements/using.md) diff --git a/docs/csharp/misc/cs0101.md b/docs/csharp/misc/cs0101.md index a6785cc54e80c..fec76070e3a32 100644 --- a/docs/csharp/misc/cs0101.md +++ b/docs/csharp/misc/cs0101.md @@ -12,7 +12,7 @@ ms.assetid: edb5246b-c16b-4845-bb2d-0ef769d014c7 The namespace 'namespace' already contains a definition for 'type' - A [namespace](../language-reference/keywords/namespace.md) has duplicate identifiers. Rename or delete one of the duplicate identifiers. For more information, see [Namespaces](../fundamentals/types/namespaces.md) + A [namespace](../language-reference/keywords/namespace.md) has duplicate identifiers. Rename or delete one of the duplicate identifiers. For more information, see [Namespaces](../fundamentals/program-structure/namespaces.md) The following sample generates CS0101: diff --git a/docs/csharp/misc/cs1527.md b/docs/csharp/misc/cs1527.md index 0c4194ed0e4ab..02419788e4df8 100644 --- a/docs/csharp/misc/cs1527.md +++ b/docs/csharp/misc/cs1527.md @@ -39,7 +39,7 @@ private struct S1 {} ## See also -- [Namespaces](../fundamentals/types/namespaces.md) +- [Namespaces](../fundamentals/program-structure/namespaces.md) - [:: Operator](../language-reference/operators/namespace-alias-qualifier.md) - [Accessibility Domain](../language-reference/keywords/accessibility-domain.md) - [Access Modifiers](../programming-guide/classes-and-structs/access-modifiers.md) diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml index 69bc030441643..3f8c72e769859 100644 --- a/docs/csharp/toc.yml +++ b/docs/csharp/toc.yml @@ -37,16 +37,20 @@ items: items: - name: Overview href: fundamentals/program-structure/index.md - - name: Main method - href: fundamentals/program-structure/main-command-line.md + - name: Namespaces and using directives + href: fundamentals/program-structure/namespaces.md + - name: Preprocessor directives + href: fundamentals/program-structure/preprocessor-directives.md + - name: Program organization + href: fundamentals/program-structure/program-organization.md - name: Top-level statements href: fundamentals/program-structure/top-level-statements.md + - name: Main method + href: fundamentals/program-structure/main-command-line.md - name: Type system items: - name: Overview href: fundamentals/types/index.md - - name: Namespaces - href: fundamentals/types/namespaces.md # TODO: tuples - name: Classes href: fundamentals/types/classes.md diff --git a/docs/csharp/tutorials/console-teleprompter.md b/docs/csharp/tutorials/console-teleprompter.md index 6f8ea634ad5e2..5cad8bea68fd1 100644 --- a/docs/csharp/tutorials/console-teleprompter.md +++ b/docs/csharp/tutorials/console-teleprompter.md @@ -184,7 +184,7 @@ This requires you to change the `Main` method signature to: static async Task Main(string[] args) ``` -Learn more about the [`async Main` method](../fundamentals/program-structure/main-command-line.md#async-main-return-values) in our fundamentals section. +Learn more about the [`async Main` method](../fundamentals/program-structure/main-command-line.md#main-return-values) in our fundamentals section. Next, you need to write the second asynchronous method to read from the Console and watch for the '<' (less than), '>' (greater than) and 'X' or 'x' keys. Here's the method you add for that task: