به روز رسانی جهت Blazor 6x
با توجه به امکان تعریف [Parameter, SupplyParameterFromQuery] در Blazor 6x، دیگر نیازی به استفادهی مستقیم از HttpUtility.ParseQueryString، جهت پردازش مقادیر کوئری استرینگهای رسیده، نیست. اطلاعات بیشتر
/search?filter=some+stuff&page=3&assignee=User1&assignee=User2
@code { [Parameter] [SupplyParameterFromQuery] public string Filter { get; set; } [Parameter] [SupplyParameterFromQuery] public int? Page { get; set; } [Parameter] [SupplyParameterFromQuery(Name = "assignee")] public string[] Assignees { get; set; } }
String, bool, DateTime, decimal, double, float, Guid, int, long
var actualUri = NavigationManager.GetUriWithQueryParameters(new Dictionary<string, object> { ["full name"] = "John Doe", // Single value ["ping"] = new int?[] { 35, 16, null, 87, 240 } });
host/?full%20name=John%20Doe&ping=35&ping=16&ping=87&ping=240
@{ ShowTree(item.Children); }
@{ ShowTree(Model); }
public record class Test(string Name, string Surname); public record Test(string Name, string Surname);
record struct Test(string Name, string Surname)
string Name { get; set; } string Surname { get; set; }
readonly record struct Test(string Name, string Surname);
string Name { get; init; } string Surname { get; init; }
public record TestRec(string name, string surname) { public sealed override string ToString() { return $"{name} {surname}"; } }
....{property: {subProperty: pattern}}....
....{property.subProperty: pattern}....
public record TestRec(string name, string surname);
string TakeFourSymbols(TestRec obj) => obj switch { TestRec { name: {Length: > 4} } rec => rec.name.Substring(0,4), // ... };
string TakeFourSymbols(TestRec obj) => obj switch { TestRec { name.Length: > 4 } rec => rec.name.Substring(0,4), // ... };
[*.cs] csharp_style_namespace_declarations = file_scoped:warning
dotnet format
dotnet format --verify-no-changes
global using DT = System.DateTime;
global using App.Models; global using static System.Console; global using DT = System.DateTime;
<ItemGroup> <Using Include="App.Models"/> <Using Include="System.Console" Static="True" /> <Using Include="System.DateTime" Alias="DT" /> </ItemGroup>
Car car = new("Test", "Blue"); var (model, color) = car; // Initialization string model = string.Empty; string color = string.Empty; (model, color) = car; // Assignment
string model = string.Empty; (model, var color) = car; // Initialization and assignment