Skip to content

Conversation

@BillWagner
Copy link
Member

@BillWagner BillWagner commented May 20, 2020

Fixes #9576
Fixes #13640
Fixes #16176
Fixes #18182
Fixes #18672

The Tour of C# has become very dated.

In this PR, I reviewed and updated each section:

  • Emphasize .NET Core SDK tooling over csc
  • Highlight major areas of C# added since 1.0 (Yes, this was that old)
  • De-emphasize areas that aren't as common to use in modern C#.

Internal review link

@dotnet-bot dotnet-bot added this to the May 2020 milestone May 20, 2020
@BillWagner BillWagner force-pushed the program-structure-tour branch 2 times, most recently from cf5f052 to 04a27c4 Compare June 2, 2020 14:52
@BillWagner BillWagner force-pushed the program-structure-tour branch from 04a27c4 to d2de5e3 Compare June 3, 2020 19:18
@BillWagner BillWagner modified the milestones: May 2020, June 2020 Jun 4, 2020
@BillWagner BillWagner force-pushed the program-structure-tour branch 3 times, most recently from c5159cf to 399e6ca Compare June 11, 2020 16:07
@BillWagner BillWagner force-pushed the program-structure-tour branch from ce617a2 to a0297c9 Compare June 15, 2020 18:32
@BillWagner BillWagner force-pushed the program-structure-tour branch from 52ba4a2 to 65ebbaa Compare June 29, 2020 21:52
@BillWagner BillWagner modified the milestones: June 2020, July 2020 Jul 6, 2020
@BillWagner BillWagner force-pushed the program-structure-tour branch from 65ebbaa to d111614 Compare July 6, 2020 22:42
@BillWagner BillWagner force-pushed the program-structure-tour branch 2 times, most recently from 20400b9 to b933abd Compare July 20, 2020 18:01
@BillWagner BillWagner force-pushed the program-structure-tour branch from b933abd to f9181bb Compare July 27, 2020 19:27
@BillWagner BillWagner force-pushed the program-structure-tour branch from 69dcdd5 to 89b794b Compare August 4, 2020 15:17
@BillWagner BillWagner modified the milestones: July 2020, August 2020 Aug 5, 2020
@BillWagner BillWagner marked this pull request as ready for review August 6, 2020 21:19
@BillWagner BillWagner requested a review from IEvangelist as a code owner August 6, 2020 21:19
@BillWagner BillWagner requested a review from a team as a code owner August 7, 2020 18:06
Copy link
Member

@IEvangelist IEvangelist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @BillWagner - This was a ton of work, great job! It's so much better with your improvements. I left a lot of nit comments and some code suggestions. It's up to you if you want to take them or not. There were some typos and grammatical suggestions in there too. And even several questions!

Looks good to me, :shipit: when you're ready.

Copy link
Contributor

@tdykstra tdykstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great work, clearly written and comprehensive! I had mostly minor typo comments but also noted one misplaced snippet.


## Nullable types

Variables of any type may be declared as ***non-nullable*** or ***nullable***. A nullable variable can hold an additional `null` value, indicating no value. Nullable Value types (structs or enums) are represented by <xref:System.Nullable%601?displayProperty=nameWithType>. Non-nullable and Nullable Reference types are both represented by the underlying reference type. The distinction is represented by metadata read by the compiler and some libraries. The compiler provides warnings when nullable references are de-referenced without first checking their value against `null`. The compiler also provides warnings when non-nullable references are assigned to a value that may be `null`. The following example declares a ***nullable int***, initializing it to `null`. Then, it sets the value to `5`. It demonstrates the same concept with a ***nullable string***. For more information, see [nullable value types](language-reference/builtin-types/nullable-value-types.md) and [nullable reference types](../nullable-references.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can hold an additional null value

"additional" to what?

BillWagner and others added 2 commits August 10, 2020 10:57
Co-authored-by: Tom Dykstra <tdykstra@microsoft.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
And fix build warnings that crept in.
@BillWagner BillWagner merged commit ad727ab into dotnet:master Aug 10, 2020
@BillWagner BillWagner deleted the program-structure-tour branch August 10, 2020 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explain variable naming constaints Introduction What's "a compatible array type"? Events vague Push/Pop Example

5 participants