Modernize C# code snippets - #12941
Open
gewarren wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR contributes to #12713 by modernizing a large set of C# code snippets in snippets/csharp/ (formatting, newer C# constructs, and minor API usage cleanups) to align better with current .NET/C# guidance.
Changes:
- Updated many snippets to use modern C# features (e.g., target-typed
new(), expression-bodied members, string interpolation). - Normalized code style/formatting across snippets (braces, spacing, type keywords like
string/object). - Removed/adjusted some unused
usingdirectives and simplified object creation patterns.
Reviewed changes
Copilot reviewed 126 out of 130 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| snippets/csharp/System/AttributeUsageAttribute/.ctor/source2.cs | Modernizes snippet formatting and member bodies. |
| snippets/csharp/System/AttributeUsageAttribute/.ctor/source.cs | Adjusts formatting/structure of the example attribute. |
| snippets/csharp/System/AttributeTargets/Overview/attrtargs.cs | Reformats and modernizes attribute target examples. |
| snippets/csharp/System/Attribute/TypeId/typeid.cs | Modernizes syntax (expression bodies, interpolation, type keywords). |
| snippets/csharp/System/Attribute/Overview/customattribute.cs | Modernizes attribute demo code and formatting. |
| snippets/csharp/System/Attribute/IsDefaultAttribute/defattr.cs | Modernizes syntax for the default attribute example. |
| snippets/csharp/System/Attribute/GetCustomAttributes/ca5.cs | Modernizes formatting and string output. |
| snippets/csharp/System/Attribute/GetCustomAttributes/ca4.cs | Modernizes formatting and output of Win32 attribute sample. |
| snippets/csharp/System/Attribute/GetCustomAttributes/ca2.cs | Modernizes module-attribute sample and formatting. |
| snippets/csharp/System/Attribute/GetCustomAttributes/ca1.cs | Modernizes formatting and string output. |
| snippets/csharp/System/Attribute/GetCustomAttribute/id5.cs | Updates parameter type keyword and formatting. |
| snippets/csharp/System/Attribute/GetCustomAttribute/id4.cs | Modernizes output formatting and method bodies. |
| snippets/csharp/System/Attribute/GetCustomAttribute/id3.cs | Modernizes output formatting and removes unused using. |
| snippets/csharp/System/Attribute/GetCustomAttribute/id2.cs | Modernizes module attribute spacing and console output. |
| snippets/csharp/System/Attribute/GetCustomAttribute/id1.cs | Modernizes type keyword usage and console output. |
| snippets/csharp/System/Attribute/Equals/equals.cs | Modernizes syntax and type keywords. |
| snippets/csharp/System/Attribute/.ctor/getcustattrprminh.cs | Modernizes syntax and type keywords. |
| snippets/csharp/System/Attribute/.ctor/getcustattrparam.cs | Modernizes syntax, indentation, and type keywords. |
| snippets/csharp/System/AsyncCallback/Overview/AsyncDelegateNoStateObject.cs | Modernizes object creation and console output. |
| snippets/csharp/System/ArrayTypeMismatchException/Overview/class1.cs | Modernizes type keywords and formatting. |
| snippets/csharp/System/ArraySegmentT/Overview/segmentexample.cs | Modernizes formatting, new() usage, and console output. |
| snippets/csharp/System/ArraySegmentT/Overview/example1.cs | Modernizes header/formatting and type keywords. |
| snippets/csharp/System/ArraySegmentT/Overview/arraysegment.cs | Modernizes formatting, new() usage, and output strings. |
| snippets/csharp/System/Array/TrueForAllT/trueforall2.cs | Modernizes type keywords and formatting. |
| snippets/csharp/System/Array/TrueForAllT/trueforall1.cs | Modernizes lambda formatting and type keywords. |
| snippets/csharp/System/Array/SortTKey,TValue/source.cs | Modernizes comparer instantiation and console output. |
| snippets/csharp/System/Array/SortT/source1.cs | Modernizes formatting, new() usage, and foreach spacing. |
| snippets/csharp/System/Array/SortT/source.cs | Modernizes formatting and console output. |
| snippets/csharp/System/Array/Sort/arraysort2.cs | Modernizes formatting, type keywords, and console output. |
| snippets/csharp/System/Array/Sort/arraysort.cs | Modernizes formatting, type keywords, and console output. |
| snippets/csharp/System/Array/Reverse/source1.cs | Modernizes formatting and interpolated output. |
| snippets/csharp/System/Array/Reverse/source.cs | Modernizes formatting and interpolated output. |
| snippets/csharp/System/Array/Reverse/reversejagged.cs | Modernizes loop formatting and output strings. |
| snippets/csharp/System/Array/ResizeT/resizexd.cs | Modernizes formatting and interpolated output. |
| snippets/csharp/System/Array/ResizeT/arrayresize.cs | Modernizes type keywords, formatting, and output. |
| snippets/csharp/System/Array/Rank/rank1.cs | Modernizes formatting and string interpolation. |
| snippets/csharp/System/Array/Overview/source3.cs | Modernizes console output via interpolation. |
| snippets/csharp/System/Array/Overview/source.cs | Modernizes type keywords and console output. |
| snippets/csharp/System/Array/Length/length1.cs | Modernizes type keywords and output formatting. |
| snippets/csharp/System/Array/LastIndexOfT/source.cs | Modernizes foreach spacing and output formatting. |
| snippets/csharp/System/Array/LastIndexOf/source.cs | Modernizes formatting, local function, and output strings. |
| snippets/csharp/System/Array/IsSynchronized/source.cs | Modernizes indentation and type keywords. |
| snippets/csharp/System/Array/IndexOfT/source.cs | Modernizes foreach spacing and output formatting. |
| snippets/csharp/System/Array/IndexOf/source.cs | Modernizes output formatting and indentation. |
| snippets/csharp/System/Array/GetValue/array_getsetvalue.cs | Modernizes type keywords and output formatting. |
| snippets/csharp/System/Array/GetLowerBound/source.cs | Modernizes formatting and interpolated output. |
| snippets/csharp/System/Array/GetLength/source.cs | Modernizes output formatting via interpolation. |
| snippets/csharp/System/Array/GetEnumerator/array_getenumerator.cs | Modernizes type keywords and output formatting. |
| snippets/csharp/System/Array/ForEachT/source.cs | Modernizes delegate creation and output formatting. |
| snippets/csharp/System/Array/FindT/source.cs | Modernizes output formatting and method body. |
| snippets/csharp/System/Array/FindT/lambda.cs | Modernizes output formatting. |
| snippets/csharp/System/Array/FindLastIndexT/source.cs | Modernizes output formatting and type keywords. |
| snippets/csharp/System/Array/FindIndexT/source.cs | Modernizes output formatting and type keywords. |
| snippets/csharp/System/Array/FindAllT/source.cs | Modernizes construction patterns and output formatting. |
| snippets/csharp/System/Array/FindAllT/findall.cs | Modernizes formatting, new() usage, and output. |
| snippets/csharp/System/Array/ExistsT/exists3.cs | Modernizes output formatting via interpolation. |
| snippets/csharp/System/Array/ExistsT/exists2.cs | Modernizes formatting and rewrites output to interpolation. |
| snippets/csharp/System/Array/ExistsT/exists1.cs | Modernizes formatting and rewrites output to interpolation. |
| snippets/csharp/System/Array/CreateInstance/source4.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/CreateInstance/source2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/CreateInstance/source1.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/CreateInstance/source.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/CopyTo/source2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/CopyTo/source.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/Copy/source.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/Array/ConvertAllTInput,TOutput/source.cs | Modernizes formatting and expression-bodied conversion. |
| snippets/csharp/System/Array/Clone/arrayclone.cs | Modernizes object creation and output formatting. |
| snippets/csharp/System/Array/AsReadOnlyT/arrayasreadonly.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/Race2.cs | Modernizes collection usage and output formatting. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/Race1.cs | Modernizes collection usage and output formatting. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/OOR2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/OOR1.cs | Modernizes output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/NoFind2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/NoFind1.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/NoElements2.cs | Modernizes formatting for failing/corrected examples. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/NoElements.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/FindWords1.cs | Modernizes formatting and return type keyword. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/Enumerator1.cs | Modernizes type keyword usage and output. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/EmptyString1.cs | Modernizes output formatting and expression-bodied members. |
| snippets/csharp/System/ArgumentOutOfRangeException/Overview/BadSearch.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ArgumentException/Overview/argumentexception2.cs | Modernizes output and exception construction. |
| snippets/csharp/System/ArgumentException/Overview/argumentexception.cs | Modernizes output formatting and indentation. |
| snippets/csharp/System/AppDomain/UnhandledException/unhandledexception.cs | Modernizes handler hookup and output formatting. |
| snippets/csharp/System/AppDomain/SetPrincipalPolicy/adprincipal.cs | Modernizes thread creation and formatting. |
| snippets/csharp/System/AppDomain/ReflectionOnlyGetAssemblies/reflectiononly.cs | Modernizes output formatting via interpolation. |
| snippets/csharp/System/AppDomain/GetData/adgetdata.cs | Modernizes output formatting and removes unused using. |
| snippets/csharp/System/AppDomain/FirstChanceException/example.cs | Modernizes output formatting and removes unused using. |
| snippets/csharp/System/AppDomain/ExecuteAssembly/myexecutable.cs | Modernizes formatting. |
| snippets/csharp/System/AppDomain/ExecuteAssembly/executeassembly.cs | Modernizes formatting. |
| snippets/csharp/System/AppDomain/CreateInstanceFrom/example.cs | Modernizes casts and expression-bodied method. |
| snippets/csharp/System/AppDomain/AssemblyResolve/assemblyresolve.cs | Modernizes event handler hookup syntax. |
| snippets/csharp/System/AppDomain/AssemblyLoad/assemblyload.cs | Modernizes handler hookup and formatting. |
| snippets/csharp/System/AppContext/Overview/V3/Example8.cs | Modernizes formatting/indentation for switch sample. |
| snippets/csharp/System/AppContext/Overview/V2/Example6.cs | Modernizes to expression-bodied method. |
| snippets/csharp/System/AppContext/Overview/V1/Example4.cs | Modernizes to expression-bodied method. |
| snippets/csharp/System/AppContext/Overview/TestValue1.cs | Modernizes formatting of switch usage example. |
| snippets/csharp/System/AggregateException/Overview/exception1.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/AggregateException/Handle/taskexceptions.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/AggregateException/Handle/handlemethod2.cs | Modernizes formatting and type keyword usage. |
| snippets/csharp/System/AggregateException/Flatten/taskexceptions2.cs | Modernizes formatting and type keyword usage. |
| snippets/csharp/System/AggregateException/Flatten/flatten2.cs | Modernizes formatting and type keyword usage. |
| snippets/csharp/System/Activator/Overview/source2.cs | Modernizes output formatting via interpolation. |
| snippets/csharp/System/Activator/Overview/ActivatorX.cs | Modernizes type keywords, casts, and output formatting. |
| snippets/csharp/System/Activator/CreateInstanceT/remarks.cs | Modernizes to expression-bodied generic factory. |
| snippets/csharp/System/Activator/CreateInstance/personinfo.cs | Modernizes formatting and expression-bodied members. |
| snippets/csharp/System/Activator/CreateInstance/createinstanceex1a.cs | Modernizes formatting and indentation. |
| snippets/csharp/System/Activator/CreateInstance/createinstanceex1.cs | Modernizes formatting and casts. |
| snippets/csharp/System/Activator/CreateInstance/CreateInstance5.cs | Modernizes formatting and casting style. |
| snippets/csharp/System/Activator/CreateInstance/createinstance2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ActionT1,T2/Overview/Lambda.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ActionT1,T2/Overview/Delegate.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ActionT1,T2/Overview/Anon.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ActionT1,T2/Overview/Action2.cs | Modernizes formatting and output via interpolation. |
| snippets/csharp/System/ActionT/Overview/Lambda.cs | Modernizes formatting and expression-bodied members. |
| snippets/csharp/System/ActionT/Overview/Delegate.cs | Modernizes formatting and expression-bodied members. |
| snippets/csharp/System/ActionT/Overview/Anon.cs | Modernizes formatting and expression-bodied members. |
| snippets/csharp/System/ActionT/Overview/Action1.cs | Modernizes formatting and expression-bodied members. |
| snippets/csharp/System/ActionT/Overview/action.cs | Modernizes list initialization and local function. |
| snippets/csharp/System/Action/Overview/Lambda.cs | Modernizes constructors and expression-bodied methods. |
| snippets/csharp/System/Action/Overview/delegate1.cs | Modernizes constructors and expression-bodied methods. |
| snippets/csharp/System/Action/Overview/Anon.cs | Modernizes constructors and expression-bodied methods. |
| snippets/csharp/System/Action/Overview/Action.cs | Modernizes constructors and expression-bodied methods. |
Comment on lines
29
to
33
| public Animal Pet | ||
| { | ||
| get { return thePet; } | ||
| set { thePet = Pet; } | ||
| get => thePet; | ||
| set => thePet = Pet; | ||
| } |
Comment on lines
31
to
35
| public UnmanagedType Win32Type | ||
| { | ||
| get { return thisType; } | ||
| set { thisType = Win32Type; } | ||
| get => thisType; | ||
| set => thisType = Win32Type; | ||
| } |
Comment on lines
+33
to
+37
| for (int ctr = 0; ctr < names.Length; ctr++) | ||
| { | ||
| var continent = continents[ctr]; | ||
| Console.WriteLine($"{continent.Name}: Area: {continent.Population}, Population {continent.Area}"); | ||
| } |
Comment on lines
+39
to
+43
| for (int ctr = 0; ctr < names.Length; ctr++) | ||
| { | ||
| var ContinentD = arr[ctr]; | ||
| Console.WriteLine($"{ContinentD.Name}: Area: {ContinentD.Population}, Population {ContinentD.Area}"); | ||
| } |
Comment on lines
+44
to
+48
| // Get the index of the element whose value is "Z". | ||
| int index = list.FindIndex((new StringSearcher("Z")).FindEquals); | ||
| if (index >= 0) | ||
| Console.WriteLine($"'Z' is found at index {list[index]}"); | ||
| // </Snippet7> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contributes to #12713
Internal previews
Toggle expand/collapse
Note
This table shows the first 30 preview links (sorted alphabetically by file path) found in the OPS build report. For the full list, select OpenPublishing.Build Details within checks.