-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Description
The bullet list of types immediately preceding Program structure introduced by
...Every variable has a type that determines what values can be stored in the variable, as shown below.
is too advanced for an introduction. There is not enough context to understand why this is being discussed here. Is it necessary? What is the critical point to understand about this that requires it be included in the introduction?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
- ID: 14618620-83fc-fd68-93a9-03626c76d680
- Version Independent ID: ea7fbbaf-fd41-75cb-28fb-a2f36c8d3967
- Content: A Tour of C# - C# Guide
- Content Source: docs/csharp/tour-of-csharp/index.md
- Product: dotnet-csharp
- Technology: csharp-get-started
- GitHub Login: @BillWagner
- Microsoft Alias: wiwagn
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
MSDN-WhiteKnight commentedon Aug 8, 2021
Given the current shape of article, yes, IMO it is necessary. It is followed by the very complex example that involves custom implementation of generic collection class. People coming from other languages needs these explainations on class/valuetype differences to understand wihy the code like this:
produces a linked list and not an invalid recursive layout. C++ would have very different syntax for that, for example. If we'd want to simplify this article, we could replace the example with something like "a function to calculate perimeter of rectangle", which resembles a real-world code somewhat, but does not require the full understanding of type system. Then we could move these type system explainations and generic stack sample into the next articles. But i doubt it is worth the effort, unless there's a lot of feedback that this article is too advanced.
bheimbaugh commentedon Aug 8, 2021
Just my 2cents, but I think it would benefit from its own article/chapter where you could explain the subtleties and compare to other languages. As it is, it caused me to just stop reading and start skimming, which is a shame because everything up to this point is very clear and digestible. Thanks for listening.
BillWagner commentedon Aug 9, 2021
Thanks for this discussion. I'll be reviewing these after C# 10 ships, and updating this section at that time. I'll look at these issues then.
BillWagner commentedon Jul 8, 2025
closing as this has been addressed in prior updates.