T1.Standard
1.0.66
See the version list below for details.
dotnet add package T1.Standard --version 1.0.66
NuGet\Install-Package T1.Standard -Version 1.0.66
<PackageReference Include="T1.Standard" Version="1.0.66" />
paket add T1.Standard --version 1.0.66
#r "nuget: T1.Standard, 1.0.66"
// Install T1.Standard as a Cake Addin #addin nuget:?package=T1.Standard&version=1.0.66 // Install T1.Standard as a Cake Tool #tool nuget:?package=T1.Standard&version=1.0.66
Add Parse
Release Notes: https://mr-brain.github.io/categories/t1-standard/
T1.Standard.Collections.TreeBuilder
ReduceTree
Universal way to convert List of items to Tree, Build the tree as completely as possible
var userList = new[]
{
new MyUser { Path = "", Name = "A1" },
new MyUser { Path = "", Name = "A2" },
new MyUser { Path = "demo", Name = "B1" }
};
var actual = _treeBuilder.ReduceTree(userList,
x => x.Path,
x => _treeBuilder.GetParentPath(x),
x => _treeBuilder.QueryParentPaths(x.Path)
).ToList();
var expected = new List<TreeBuilder.TreeItem<MyUser, string>>
{
new TreeBuilder.TreeItem<MyUser, string>()
{
Id = "",
ParentId = null,
Item = new MyUser {Path = "", Name = "A1"},
Children = new List<TreeBuilder.TreeItem<MyUser, string>>()
},
new TreeBuilder.TreeItem<MyUser, string>()
{
Id = "",
ParentId = null,
Item = new MyUser {Path = "", Name = "A2"},
Children = new List<TreeBuilder.TreeItem<MyUser, string>>()
},
new TreeBuilder.TreeItem<MyUser, string>()
{
Id = "demo",
ParentId = null,
Item = new MyUser {Path = "demo", Name = "B1"},
Children = new List<TreeBuilder.TreeItem<MyUser, string>>()
},
};
expected.ToExpectedObject().ShouldEqual(actual);
GenerateTree
This will only create a fully structured tree
var userList = new[]
{
new MyUser {Path = "", Name = "A1"},
new MyUser {Path = "demo/name", Name = "C1"},
};
var actual = _treeBuilder.GenerateTree(userList,
x => x.Path,
x => _treeBuilder.GetParentPath(x.Path)
).ToList();
var expected = new List<TreeBuilder.TreeItem<MyUser, string>>
{
new TreeBuilder.TreeItem<MyUser, string>()
{
Id = "",
ParentId = null,
Item = new MyUser {Path = "", Name = "A1"},
Children = new List<TreeBuilder.TreeItem<MyUser, string>>()
},
};
expected.ToExpectedObject().ShouldEqual(actual);
string/object Dictionary List to DataTable Sample
var dictList = new List<Dictionary<string, object>> {
new Dictionary<string, object>
{
{"Id", 1},
{"Name", "Jack"},
{"Birth", DateTime.Parse("2022-05-01")}
},
new Dictionary<string, object>
{
{"Id", 2},
{"Name", "Flash"},
{"Birth", DateTime.Parse("2022-05-01")}
}
};
var datatable = dictList.ToDataTable();
string/object Dictionary List Deep to DataTable Sample
var dictList = new List<Dictionary<string, object>> {
new Dictionary<string, object>
{
{"Id", 1},
{"Name", "Jack"},
{"Birth", DateTime.Parse("2022-05-01")},
{"Price", null},
},
new Dictionary<string, object>
{
{"Id", 2},
{"Name", "Flash"},
{"Birth", DateTime.Parse("2022-05-01")},
{"Price", 123m},
{"Home", null},
}
};
var datatable = dictList.DeepToDataTable();
Assert.Equal(typeof(decimal), dt.Columns["Price"]!.DataType);
Assert.Equal(typeof(string), dt.Columns["Home"]!.DataType);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Castle.Core (>= 4.3.1)
- Microsoft.CSharp (>= 4.5.0)
- Microsoft.Extensions.Caching.Memory (>= 2.1.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.4)
- Microsoft.Extensions.Http (>= 2.1.1)
- Microsoft.Extensions.Localization.Abstractions (>= 1.1.0)
- Microsoft.Extensions.Logging (>= 2.1.1)
- Microsoft.Extensions.Primitives (>= 2.1.1)
- System.ComponentModel (>= 4.3.0)
- System.ComponentModel.Annotations (>= 4.5.0)
- System.Reactive (>= 4.1.5)
- System.Reactive.Core (>= 4.1.5)
- System.Reactive.Interfaces (>= 4.1.5)
- System.Reactive.Linq (>= 4.1.5)
- System.Reactive.Providers (>= 4.1.5)
- System.Runtime.Loader (>= 4.3.0)
- System.Text.Json (>= 4.7.2)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on T1.Standard:
Package | Downloads |
---|---|
FlashElf.ChaosKit.Autofac
Package Description |
|
FlashElf.ChaosKit
Chaos strategy is a software development strategy based on the chaos model. Its main rule is to always solve the most important problems first. |
|
T1.AspNetCore3
DynamicHub, DefaultRequestResponseLoggingHandler, RawHtmlInjectMiddleware, ProtectFolderMiddleware |
|
T1.RedisEx
Package Description |
|
T1.SqlLocalData
windows sqllocaldb tool |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.83 | 86 | 11/16/2024 |
1.0.81 | 197 | 8/31/2024 |
1.0.80 | 139 | 8/19/2024 |
1.0.79 | 127 | 8/18/2024 |
1.0.78 | 137 | 6/2/2024 |
1.0.74 | 302 | 4/9/2023 |
1.0.67 | 530 | 2/8/2023 |
1.0.66 | 527 | 8/8/2022 |
1.0.65 | 522 | 6/27/2022 |
1.0.63 | 494 | 6/1/2022 |
1.0.62 | 490 | 5/4/2022 |
1.0.61 | 801 | 4/26/2022 |
1.0.59 | 471 | 4/21/2022 |
1.0.58 | 9,859 | 2/15/2022 |
1.0.57 | 586 | 6/30/2021 |
1.0.54 | 5,430 | 1/17/2021 |
1.0.53 | 696 | 1/12/2021 |
1.0.52 | 1,508 | 12/29/2020 |
1.0.50 | 3,959 | 12/9/2020 |
1.0.49 | 878 | 12/8/2020 |
1.0.45 | 1,185 | 11/18/2020 |
1.0.44 | 462 | 11/15/2020 |
1.0.42 | 520 | 9/3/2020 |
1.0.40 | 567 | 9/2/2020 |
1.0.38 | 4,616 | 9/1/2020 |
1.0.37 | 755 | 8/29/2020 |
1.0.36 | 523 | 8/26/2020 |
1.0.35 | 3,797 | 8/20/2020 |
1.0.33 | 528 | 7/29/2020 |
1.0.32 | 936 | 7/14/2020 |
1.0.31 | 614 | 6/19/2020 |
1.0.30 | 1,313 | 4/29/2020 |
1.0.29 | 561 | 4/5/2020 |
1.0.28 | 554 | 3/30/2020 |
1.0.26 | 549 | 3/27/2020 |
1.0.25 | 513 | 3/20/2020 |
1.0.24 | 866 | 1/31/2020 |
1.0.23 | 668 | 10/31/2019 |
1.0.22 | 578 | 10/12/2019 |
1.0.19 | 738 | 10/8/2019 |
1.0.18 | 543 | 10/5/2019 |
1.0.17 | 728 | 9/28/2019 |
1.0.16 | 569 | 9/11/2019 |
1.0.15 | 581 | 9/8/2019 |
1.0.14 | 634 | 8/22/2019 |
1.0.10 | 599 | 8/18/2019 |
1.0.6 | 597 | 7/27/2019 |
1.0.0 | 694 | 3/16/2019 |
add ParseCommandArgsLine