Giter Site home page Giter Site logo

rsdn / codejam Goto Github PK

View Code? Open in Web Editor NEW
258.0 30.0 34.0 14.53 MB

Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another

License: MIT License

C# 99.89% Batchfile 0.01% PowerShell 0.10%
codejam list string collections data-structures threading xml reflection async assertions

codejam's People

Contributors

andrewvk avatar arthurkozyrev avatar gitter-badger avatar ig-sinicyn avatar igor-tkachev avatar jack128 avatar lexey avatar nn--- avatar rameel avatar sdanyliv avatar thesquidcombatant avatar viivanov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codejam's Issues

No more Benchmark runs will be launched as NO measurements were obtained from the previous run!

Using the exact dependencies (NUnit 3.7.1, Benchmark.NET 0.10.8 and CodeJam.PerfTests.NUnit 0.1.4-beta) and the wiki example:

    [Category("PerfTests: NUnit examples")]
    [CompetitionAnnotateSources] // Opt-in feature: source annotations.
    public class SimplePerfTest
    {
        private const int Count = 200;

        // Perf test runner method.
        [Test]
        public void RunSimplePerfTest() => Competition.Run(this);

        // Baseline competition member.
        // All relative metrics will be compared with metrics of the baseline method.
        [CompetitionBaseline]
        public void Baseline() => Thread.SpinWait(Count);

        // Competition member #1. Should take ~3x more time to run.
        [CompetitionBenchmark]
        public void SlowerX3() => Thread.SpinWait(3 * Count);

        // Competition member #2. Should take ~5x more time to run.
        [CompetitionBenchmark]
        public void SlowerX5() => Thread.SpinWait(5 * Count);

        // Competition member #3. Should take ~7x more time to run.
        [CompetitionBenchmark]
        public void SlowerX7() => Thread.SpinWait(7 * Count);
    }

I get the following:

Test completed with errors, details below.
Errors:
    * Run #1: No result reports for benchmarks: Baseline, SlowerX3, SlowerX5, SlowerX7.
at CodeJam.PerfTests.Running.Core.NUnitCompetitionRunner.ReportExecutionErrors(String messages, CompetitionState competitionState) in C:\Users\igors\Source\Repos\CodeJam\PerfTests\src-NUnit\Running.Core\NUnitCompetitionRunner.cs:line 81
at CodeJam.PerfTests.Running.Core.CompetitionRunnerBase.RunCore(Type benchmarkType, ICompetitionConfig competitionConfig, CompetitionFeatures competitionFeatures) in C:\Users\igors\Source\Repos\CodeJam\PerfTests\src\[L5_AllTogether]\Running.Core\CompetitionRunnerBase.cs:line 233



BenchmarkDotNet=v0.10.8, OS=Windows 10 Redstone 1 (10.0.14393)
Processor=Intel Core i7-7700 CPU 3.60GHz (Kaby Lake), ProcessorCount=8
Frequency=3515621 Hz, Resolution=284.4448 ns, Timer=TSC
  [Host] : Clr 4.0.30319.42000, 64bit RyuJIT-v4.7.2558.0

Job=Competition  Force=False  Toolchain=InProcessToolchain  
InvocationCount=256  LaunchCount=1  RunStrategy=Throughput  
TargetCount=256  UnrollFactor=16  WarmupCount=128  
AdjustMetrics=True  

   Method | Mean | StdDev | Scaled | Scaled-StdDev | GcAllocations |
--------- |-----:|-------:|-------:|--------------:|--------------:|
 Baseline |   NA |     NA |   1.00 |          0.00 |             ? |
 SlowerX3 |   NA |     NA |      ? |             ? |             ? |
 SlowerX5 |   NA |     NA |      ? |             ? |             ? |
 SlowerX7 |   NA |     NA |      ? |             ? |             ? |

Benchmarks with issues:
  SimplePerfTest.Baseline: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX3: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX5: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX7: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)

============= SimplePerfTest =============
// ? Squid.Strategies.Tests.Collect2.SimplePerfTest, Squid.Strategies.Tests

---- Run 1, total runs (expected): 1 -----
ExitCode != 0
No more Benchmark runs will be launched as NO measurements were obtained from the previous run!
// Exception: System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Last[TSource](IEnumerable`1 source)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Execute(ILogger logger, Benchmark benchmark, IToolchain toolchain, BuildResult buildResult, IConfig config, IResolver resolver, GcStats& gcStats)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Run(Benchmark benchmark, ILogger logger, IConfig config, String rootArtifactsFolderPath, Func`2 toolchainProvider, IResolver resolver)
ExitCode != 0
No more Benchmark runs will be launched as NO measurements were obtained from the previous run!
// Exception: System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Last[TSource](IEnumerable`1 source)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Execute(ILogger logger, Benchmark benchmark, IToolchain toolchain, BuildResult buildResult, IConfig config, IResolver resolver, GcStats& gcStats)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Run(Benchmark benchmark, ILogger logger, IConfig config, String rootArtifactsFolderPath, Func`2 toolchainProvider, IResolver resolver)
ExitCode != 0
No more Benchmark runs will be launched as NO measurements were obtained from the previous run!
// Exception: System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Last[TSource](IEnumerable`1 source)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Execute(ILogger logger, Benchmark benchmark, IToolchain toolchain, BuildResult buildResult, IConfig config, IResolver resolver, GcStats& gcStats)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Run(Benchmark benchmark, ILogger logger, IConfig config, String rootArtifactsFolderPath, Func`2 toolchainProvider, IResolver resolver)
ExitCode != 0
No more Benchmark runs will be launched as NO measurements were obtained from the previous run!
// Exception: System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Last[TSource](IEnumerable`1 source)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Execute(ILogger logger, Benchmark benchmark, IToolchain toolchain, BuildResult buildResult, IConfig config, IResolver resolver, GcStats& gcStats)
   at BenchmarkDotNet.Running.BenchmarkRunnerCore.Run(Benchmark benchmark, ILogger logger, IConfig config, String rootArtifactsFolderPath, Func`2 toolchainProvider, IResolver resolver)
There are no any results runs
There are no any results runs
There are no any results runs
There are no any results runs
Benchmarks with issues:
  SimplePerfTest.Baseline: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX3: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX5: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
  SimplePerfTest.SlowerX7: Competition(Force=False, Toolchain=InProcessToolchain, InvocationCount=256, LaunchCount=1, RunStrategy=Throughput, TargetCount=256, UnrollFactor=16, WarmupCount=128)
// ! #1.1  01.442s, ExecutionError@Analyser: No result reports for benchmarks: Baseline, SlowerX3, SlowerX5, SlowerX7.
// ! Hint: Ensure that benchmarks were run successfully and did not throw any exceptions.
// ! Breaking competition execution. High severity error occured.

Documentation project build is failing

  • Docs continious integration build Docs build status
  CodeJam.Main -> c:\projects\codejam\Main\src\bin\Debug\net461\CodeJam.dll
SHFB : warning BHT0001: Unable to get executing project:  Unable to obtain matching project from the global collection.  The specified project will be loaded but command line property overrides will be ignored. [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002: Unable to build project 'c:\projects\codejam\CodeJamDoc.shfbproj': SandcastleBuilder.Utils.BuilderException: Error reading project from 'c:\projects\codejam\CodeJamDoc.shfbproj': [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002: The selected file is for a more recent version of the help file builder.  Please upgrade your copy to load the file. ---> SandcastleBuilder.Utils.BuilderException: The selected file is for a more recent version of the help file builder.  Please upgrade your copy to load the file. [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002:    at SandcastleBuilder.Utils.SandcastleProject.LoadProperties() [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002:    --- End of inner exception stack trace --- [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002:    at SandcastleBuilder.Utils.SandcastleProject.LoadProperties() [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002:    at SandcastleBuilder.Utils.SandcastleProject..ctor(Project existingProject) [c:\projects\codejam\CodeJamDoc.shfbproj]
SHFB : error BHT0002:    at SandcastleBuilder.Utils.MSBuild.BuildHelp.Execute() [c:\projects\codejam\CodeJamDoc.shfbproj]
Command exited with code 1
Push-AppveyorArtifact C:\projects\codejam\Help\LastBuild.log
Resolve-Path : Cannot find path 'C:\projects\codejam\Help\LastBuild.log' because it does not exist.
At C:\Program Files\AppVeyor\BuildAgent\Modules\build-worker-api\build-worker-api.psm1:207 char:18
+     $fullPath = (Resolve-Path $Path).Path
+                  ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\projects\codejam\Help\LastBuild.log:String) [Resolve-Path], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand
 
Push-AppveyorArtifactInternal : Cannot bind argument to parameter 'FullPath' because it is null.
At C:\Program Files\AppVeyor\BuildAgent\Modules\build-worker-api\build-worker-api.psm1:209 char:42
+     Push-AppveyorArtifactInternal -FullPath $fullPath -FileName $File ...
+                                             ~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Push-AppveyorArtifactInternal], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Appveyor.BuildAgent.Api.Utils.PushAppveyorArtifactInternalCmdlet

[Umbrella] Rewamping the library

I'm going to spend some time in order to revive the project and release a new major version.

The primary goals are the following (issues/PRs to be linked).

  • (#153) Remove dead code (CodeJam.PerfTests). There's git history so we may revive it at any moment
  • (#154) move all build artifacts (bin and obj dirs) into root .artifacts directory. The change is going to happen with .net 8 anyways, so I'll just speed it up :)
  • Update multitargeting subsystem. I'm going to make a new approach and use reusable MsBuild .targets / .props files. As a side bonus I do expect to have much more readable csproj files
  • (#154) Update Appveyor pipelines. As it turns out the scripts may be simplified a lot. Also, I've managed to add target framework annotations to the test results (this helps a lot if build fails).
  • Remove unused dependencies (looks like we do not need ComponentModel.DataAnnotations dependency except for some enum helpers).
  • (#155) Add a new package publish scripts

As a preview, there's experimental repo with proofcode for points 2-4. Things to note:

FYI @andrewvk @NN--- . If needed, we can make a call and improve the roadmap.

ะŸะพั‡ะตะผัƒ rsdn ะปะตะถะธั‚?

ะฏ ั‚ะฐะบ ะฟะพะฝะธะผะฐัŽ, ะบั‚ะพ-ั‚ะพ ัƒะตั…ะฐะป ะฒ ะพั‚ะฟัƒัะบ (ะธะปะธ ะฒัะต ัั€ะฐะทัƒ), ะฒัะต ัƒะฟะฐะปะพ, ะฐ ะฟะพั‡ะธะฝะธั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะฝะตั‚. ะšะพะณะดะฐ ัะฐะนั‚ ะทะฐั€ะฐะฑะพั‚ะฐะตั‚?

[ANN] First public beta of CodeJam.PerfTests

I've finally managed to complete most critical docs and fix all minor gotchas in the perftests so it is in good condition to be released as a beta now.

In short, CodeJam.PerfTests is a framework build on top of BenchmarkDotNet and aimed to make perfomance testing as easy as normal unit tests are (NUnit, xUnit and MsTest test frameworks are supported right now, others - as requested).

The goal of perftest is to proof your code will not break performance contract no matter under what conditions it is being run. To achieve that CodeJam.PerfTests collects, stores and validates various performance metrics during each perf test run. In addition there is a set of features that are essential for real-world projects. To name a few: metric limits auto-adjustment, Continuous Integration support, support for perftests over dynamically emitted code and so on.

Here're sources and packages. Also, be sure to check the intro and overview docs:)
There's examples project (in progress) and as a proof the whole thing still works there's CI build for it (expand the test output for details).
As a teaser:

	[CompetitionMeasureAll]
	public class CompetitionAllMetricsTest
	{
		private const int Count = 1024;

		[Test]
		public void RunCompetitionAllMetricsTest() => Competition.Run(this);

		[CompetitionBaseline]
		[GcAllocations(8.24, BinarySizeUnit.Kilobyte), Gc0(0.34, 0.37), Gc1(0), Gc2(0)]
		[ExpectedTime(7.18, 9.06, TimeUnit.Microsecond)]
		public int ListWithoutCapacity()
		{
			var data = new List<int>();
			for (int i = 0; i < Count; i++)
				data.Add(i);
			return data.Count;
		}

		[CompetitionBenchmark(0.63, 0.86)]
		[GcAllocations(4.07, BinarySizeUnit.Kilobyte), Gc0(0.168, 0.183), Gc1(0), Gc2(0)]
		[ExpectedTime(4.43, 7.11, TimeUnit.Microsecond)]
		public int ListWithCapacity()
		{
			var data = new List<int>(Count);
			for (int i = 0; i < Count; i++)
				data.Add(i);
			return data.Count;
		}

		[CompetitionBenchmark(0.20, 0.26)]
		[GcAllocations(4.03, BinarySizeUnit.Kilobyte), Gc0(0.153, 0.183), Gc1(0), Gc2(0)]
		[ExpectedTime(1.24, 1.75, TimeUnit.Microsecond)]
		public int Array()
		{
			var data = new int[Count];
			for (int i = 0; i < Count; i++)
				data[i] = i;
			return data.Length;
		}
	}

and the output:

BenchmarkDotNet=v0.10.8, OS=Windows 10 Redstone 2 (10.0.15063)
Processor=Intel Core i7-3537U CPU 2.00GHz (Ivy Bridge), ProcessorCount=4
Frequency=2435875 Hz, Resolution=410.5301 ns, Timer=TSC
  [Host] : Clr 4.0.30319.42000, 64bit RyuJIT-v4.7.2046.0

Job=CodeJamCompetitionX64  Jit=RyuJit  Platform=X64  
Force=False  Toolchain=InProcessToolchain  InvocationCount=256  
LaunchCount=1  RunStrategy=Throughput  TargetCount=256  
UnrollFactor=16  WarmupCount=128  AdjustMetrics=True  
ForceEmptyMetricsAdjustment=True  SkipRunsBeforeAdjustment=1  
LogAnnotations=True 

              Method |     Mean |    StdDev | Scaled | Scaled-StdDev | GcAllocations |   Gc0 |  Gc1 |  Gc2 | ExpectedTime |
-------------------- |---------:|----------:|-------:|--------------:|--------------:|------:|-----:|-----:|-------------:|
 ListWithoutCapacity | 5.489 us | 1.0849 us |   1.00 |          0.00 |       8.24 KB |  0.34 | 0.00 | 0.00 |      7.73 us |
    ListWithCapacity | 4.393 us | 0.8287 us |   0.80 |          0.21 |       4.07 KB | 0.183 | 0.00 | 0.00 |      6.25 us |
               Array | 1.148 us | 0.0718 us |   0.21 |         0.042 |       4.03 KB | 0.168 | 0.00 | 0.00 |      1.31 us |

======= CompetitionAllMetricsTest ========
// ? CodeJam.PerfTests.IntegrationTests.CompetitionAllMetricsTest, CodeJam-Tests.Performance

---- Run 1, total runs (expected): 1 -----
// ? #1.1  04.322s, Informational@Analyser: All competition metrics are ok.
// !<-- ------ xml_annotation_begin ------
<CompetitionBenchmarks>
	<Competition Target="CodeJam.PerfTests.IntegrationTests.CompetitionAllMetricsTest, CodeJam-Tests.Performance">
		<ListWithoutCapacity Baseline="true">
			<GcAllocations Min="8.24" Max="8.24" Unit="KB" />
			<Gc0 Min="0.34" Max="0.37" />
			<Gc1 Min="0.00" Max="0.00" />
			<Gc2 Min="0.00" Max="0.00" />
			<ExpectedTime Min="7.18" Max="9.06" Unit="us" />
		</ListWithoutCapacity>
		<ListWithCapacity Min="0.63" Max="0.86">
			<GcAllocations Min="4.07" Max="4.07" Unit="KB" />
			<Gc0 Min="0.168" Max="0.183" />
			<Gc1 Min="0.00" Max="0.00" />
			<Gc2 Min="0.00" Max="0.00" />
			<ExpectedTime Min="4.43" Max="7.11" Unit="us" />
		</ListWithCapacity>
		<Array Min="0.20" Max="0.26">
			<GcAllocations Min="4.03" Max="4.03" Unit="KB" />
			<Gc0 Min="0.153" Max="0.183" />
			<Gc1 Min="0.00" Max="0.00" />
			<Gc2 Min="0.00" Max="0.00" />
			<ExpectedTime Min="1.24" Max="1.75" Unit="us" />
		</Array>
	</Competition>
</CompetitionBenchmarks>
// !--> ------- xml_annotation_end -------

Thanks for all who're still reading:) I'm very interested in feedback so feel free to create issue or ask in gitter if something is unclear, does not work as expected or just exploded.

GetConvertExpression shouldn't return null

WDYT ?
Rename it to TryGetConvertExpression then.

public LambdaExpression GetConvertExpression(
			[NotNull] Type from,
			[NotNull] Type to,
			bool checkNull = true,
			bool createDefault = true)
		{
			Code.NotNull(from, nameof(from));
			Code.NotNull(to,   nameof(to));

			var li = GetConverter(from, to, createDefault);
			return li == null ? null : (LambdaExpression)ReduceDefaultValue(checkNull ? li.CheckNullLambda : li.Lambda);
		}

Please add [CanBeNull] attribute to some methods

For example this method:

    [Pure]
    public static TValue GetValueOrDefault<TKey, TValue>([NotNull] this Dictionary<TKey, TValue> dictionary, TKey key)
    {
      return DictionaryExtensions.GetValueOrDefault<TKey, TValue>(dictionary, key, default (TValue));
    }

should have [CanBeNull] attribute applied, because it can return null when TValue is a class.
Otherwise ReSharper does not help catch possible null reference exception.

CodeException UnexpectedArgumentValue, UnexpectedValue dont' work correct with null

If value is null then {value.ToInv()} will cause NRE.

		[DebuggerHidden, NotNull, MethodImpl(AggressiveInlining)]
		[MustUseReturnValue]
		public static ArgumentOutOfRangeException UnexpectedArgumentValue<T>(
			[NotNull, InvokerParameterName] string argumentName,
			[CanBeNull] T value)
		{
			BreakIfAttached();
			var valueType = value?.GetType() ?? typeof(T);
			return new ArgumentOutOfRangeException(
				argumentName, value, $"Unexpected value '{value.ToInv()}' of type '{valueType.FullName}'.")
				.LogToCodeTraceSourceBeforeThrow();
		}

		[DebuggerHidden, NotNull, MethodImpl(AggressiveInlining)]
		[MustUseReturnValue]
		public static InvalidOperationException UnexpectedValue<T>([CanBeNull] T value)
		{
			BreakIfAttached();
			var valueType = value?.GetType() ?? typeof(T);
			return
				new InvalidOperationException(
					$"Unexpected value '{value.ToInv()}' of type '{valueType.FullName}'.")
					.LogToCodeTraceSourceBeforeThrow();
		}

MappingSchema.TryGetConvertExpression returns null instead of bool

This should not be called TryGet** or return bool.

protected internal virtual LambdaExpression TryGetConvertExpression(Type from, Type to)
		{
			var li = GetConverter(from, to, false);
			return li == null ? null : (LambdaExpression)ReduceDefaultValue(li.CheckNullLambda);
		}

DictionaryCollectionExtensions proposal

Something like this, what do you think ?

	/// <summary>
	/// Extensions for IDictionary&lt;TKey, Container&lt;TValue&gt;&gt;.
	/// </summary>
	public static class DictionaryCollectionExtensions
	{
		#region List

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateList<TKey, TValue>(this IDictionary<TKey, ICollection<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new List<TValue>()).Add(value);
		}

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateList<TKey, TValue>(this IDictionary<TKey, IList<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new List<TValue>()).Add(value);
		}

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateList<TKey, TValue>(this IDictionary<TKey, List<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new List<TValue>()).Add(value);
		}

		#endregion

		#region HashSet

		/// <summary>
		/// Add value to values set of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateHashSet<TKey, TValue>(this IDictionary<TKey, ICollection<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new HashSet<TValue>()).Add(value);
		}

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateHashSet<TKey, TValue>(this IDictionary<TKey, ISet<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new HashSet<TValue>()).Add(value);
		}

		/// <summary>
		/// Add value to values set of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateHashSet<TKey, TValue>(this IDictionary<TKey, HashSet<TValue>> dict, TKey key, TValue value)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => new HashSet<TValue>()).Add(value);
		}

		#endregion

		#region Generic

		/// <summary>
		/// Add value to values set of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateCollection<TKey, TValue>(this IDictionary<TKey, ICollection<TValue>> dict, TKey key, TValue value, Func<IColletion<TValue>> createCollection)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => createCollection()).Add(value);
		}

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateCollection<TKey, TValue>(this IDictionary<TKey, ISet<TValue>> dict, TKey key, TValue value, Func<ISet<TValue>> createCollection)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => createCollection()).Add(value);
		}

		/// <summary>
		/// Add value to values list of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateCollection<TKey, TValue>(this IDictionary<TKey, IList<TValue>> dict, TKey key, TValue value, Func<IList<TValue>> createCollection)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => createCollection()).Add(value);
		}

		/// <summary>
		/// Add value to values set of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateCollection<TKey, TValue>(this IDictionary<TKey, List<TValue>> dict, TKey key, TValue value, Func<List<TValue>> createCollection)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => createCollection()).Add(value);
		}

		/// <summary>
		/// Add value to values set of given <paramref name="key"/>
		/// </summary>
		public static void AddOrCreateCollection<TKey, TValue>(this IDictionary<TKey, HashSet<TValue>> dict, TKey key, TValue value, Func<HashSet<TValue>> createCollection)
		{
			if (dict == null) throw new ArgumentNullException("dict");
			if (key == null) throw new ArgumentNullException("key");

			dict.GetOrAdd(key, _ => createCollection()).Add(value);
		}

		#endregion
	}

Using method GetValueOrDefault in NetStandard 2.0 library causes MissingMethodException in netcoreapp2.2 console app when referencing NetStandard library

Using method in NetStandard 2.0 library causes MissingMethodException in netcoreapp2.2 when referencing NetStandard library

public static TValue GetValueOrDefault<TKey, TValue>(
      [NotNull] this Dictionary<TKey, TValue> dictionary,
      [NotNull] TKey key,
      TValue defaultValue)

System.MissingMethodException
HResult=0x80131513
Message=Method not found: '!!1 CodeJam.Collections.DictionaryExtensions.GetValueOrDefault(System.Collections.Generic.Dictionary`2<!!0,!!1>, !!0, !!1)'.
Source=NetStandardLib
StackTrace:
at NetStandardLib.NetStandardLibClass.SomeMethod() in C:\dev\CodeJamExceptionRepro\NetStandardLib\NetStandardLibClass.cs:line 10
at ConsoleApp4.Program.Main(String[] args) in C:\dev\CodeJamExceptionRepro\ConsoleApp4\Program.cs:line 8

Reporo here:
https://github.com/Advitalitum/CodeJamExceptionRepro
OS: Windows 10

Any reason to handle null this in ExpressionExtensions.Transform ?

Why no throw exception?

[Pure]
		public static Expression Transform([CanBeNull] this Expression expr, [NotNull] Func<Expression, Expression> func)
		{
			if (func == null) throw new ArgumentNullException(nameof(func));

			return TransformInternal(expr, func);
		}

		[CanBeNull]
		private static Expression TransformInternal([CanBeNull] this Expression expr, [NotNull] Func<Expression, Expression> func)
		{
			if (expr == null)
				return null;
...
}

Mapper fails on byte[]

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      var mapper = Map.GetMapper<Test, Test>(m => m.SetDeepCopy(true).SetProcessCrossReferences(true));
    }

    public class Test
    {
      public byte[] Image { get; set; }
    }
  }
}

Apache license violation

As I can see the project is released under MIT license, but some of the source files (ObjectPool.cs for example) are under Apache license and it's not mentioned anywhere and that's a violation.

CompositeRangeExtensions.ToCompositeRange exclusive

CompositeRangeExtensions.ToCompositeRange doesn't have overloads for exclusive from/to:

  • CompositeRangeExtensions.ToCompositeRangeExclusive
  • CompositeRangeExtensions.ToCompositeRangeExclusiveFrom
  • CompositeRangeExtensions.ToCompositeRangeExclusiveTo

Rename classes matching .NET classes

There are few classes with the same name as .NET has:

  • CodeJam.HashCode - System.HashCode
  • CodeJam.Collections.CollectionExtensions - System.Collections.Generic.CollectionExtensions
  • CodeJam.Ranges.Range - System.Range

Rewrite the publish nuget packages script

As a part of #152 :

We have pretty basic .\CodeJam\Build\BuildScripts\CodeJam.Main.Push.bat
I'd prefer to have a script (or may be a release pipeline) that will build the project with specified project version and will publish a preview version of the package.

I have no strong opinion on how on how to implement the issue. Feel free to propose ideas and may ber even an implementation!)

Mapper: exception on mapper creation

I am unable to provide sources here, but I can send example project to delevoper, if needed.

var mapper = Map.GetMapper<Scenario, Scenario>(m => m.SetDeepCopy(true).SetProcessCrossReferences(true));
Exception thrown: 'System.InvalidOperationException' in System.Core.dll

Additional information: variable '' of type 'System.Func`4[BusinessLogic.Models.InvestmentPlan.InvestmentPlanVarious,BusinessLogic.Models.InvestmentPlan.InvestmentPlanVarious,System.Collections.Generic.IDictionary`2[System.Object,System.Object],BusinessLogic.Models.InvestmentPlan.InvestmentPlanVarious]' referenced from scope '', but it is not defined

4.0 roadmap

Planned 4.0 changes:

4.0 is breaking changes release!

  • Nullable reference type markup in all types (there shouldn't be a single warning when building it). Operator ! should be avoided as much as possible
  • Remove old NotNull/CanBeNull R# attributes (to avoid double work on markup and conflicts with new NotNull attribute with different meaning)
  • Remove targets: .NET FW 2.0 as very outdated, .NET Standard older than 2.0 as rarely used, .NET Core older than 3.1, as deprecated by Microsoft and produces warnings when building with MSBuild 16.8+.
  • Remove all API marked in 3.X as Obsolete
  • Mark all rarely used APIs as Obsolete (remove in 5.0)
  • Use C# 9 features

@NN--- , @ig-sinicyn

.NET 4.0 build is failing

#53 introduced integration build error:

  CodeJam.Main-Tests -> C:\projects\codejam\Main\tests\bin\Publish\net45\CodeJam-Tests.dll
Threading\ParallelQueueTest.cs(49,16): error CS0103: The name 'Volatile' does not exist in the current context [C:\projects\codejam\Main\tests\CodeJam.Main-Tests.csproj]

Volatile.Read doesn't exist in .NET 4.0
Thread.VolatileRead should be used instead.

Mapper's stack overflow

Trying to use Mapper and get stack overlow. BLToolkit's cloner works fine (Map.GetObjectMapper<Scenario, Scenario>()).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using CodeJam.Mapping;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      var mapper = Map.GetMapper<Test, Test>(m => m.SetDeepCopy(true));
    }

    public class Test
    {
      public List<Test> Depends { get; set; }
    }
  }
}

Improve tests time

Several tests are too slow.

CodeJam.Ranges.IntervalTreeTests.TestSameStartRanges
CodeJam.Tests.dll
8 sec 200 ms

CodeJam.Ranges.IntervalTreeTests.TestSameEndRanges
CodeJam.Tests.dll
8 sec 406 ms

CodeJam.Threading.AsyncLockTest.LockCancellationTest
CodeJam.Tests.dll
2 sec 16 ms

CodeJam.Threading.TaskHelperTests.TestRunWithTimeoutCallbackTimeoutCancellation
CodeJam.Tests.dll
2 sec 16 ms

CodeJam.Threading.TaskHelperTests.TestWithTimeoutCallbackTimeoutCancellation
CodeJam.Tests.dll
1 sec 992 ms

CodeJam.Threading.TaskHelperTests.TestWaitForCancellationTimeout
CodeJam.Tests.dll
1 sec 17 ms
CodeJam.Threading.TaskHelperTests.TestWithTimeoutFailure
CodeJam.Tests.dll
1 sec 3 ms

CodeJam.Threading.TaskHelperTests.TestRunWithTimeoutCallbackFailure
CodeJam.Tests.dll
1 sec

CodeJam.Threading.TaskHelperTests.ForEachAsyncCancellation
CodeJam.Tests.dll
2 sec 53 ms

.Threading.TaskHelperTests.TestRunWithTimeoutFailure
CodeJam.Tests.dll
1 sec 143 ms

Fix CodeJam.Doc warnings

https://ci.appveyor.com/project/andrewvk/codejam-jlvna/builds/22188956

Component: [N:CodeJam] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.ArgumentAssertion`1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.Assert``1(CodeJam.ArgumentAssertion{``0},System.Boolean,System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.Assert``1(CodeJam.ArgumentAssertion{``0},System.Boolean,System.String)] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.Assert``1(CodeJam.ArgumentAssertion{``0},System.Boolean,System.String,System.Object[])] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.Assert``1(CodeJam.ArgumentAssertion{``0},System.Boolean,System.String,System.Object[])] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.ItemNotNull``1(CodeJam.ArgumentAssertion{System.Collections.Generic.IEnumerable{``0}})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotEmpty``1(CodeJam.ArgumentAssertion{System.Collections.Generic.ICollection{``0}})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotEmpty``1(CodeJam.ArgumentAssertion{System.Collections.Generic.IEnumerable{``0}})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotEmpty``1(CodeJam.ArgumentAssertion{``0[]})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotNull``1(CodeJam.ArgumentAssertion{System.Nullable{``0}})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotNull``1(CodeJam.ArgumentAssertion{``0})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotNullNorEmpty(CodeJam.ArgumentAssertion{System.String})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ArgumentAssertionExtensions.NotNullNorWhiteSpace(CodeJam.ArgumentAssertion{System.String})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Disposable.Create``1(System.Action{``0},``0)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.EnumHelper.GetDescription``1(``0)] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.EnumHelper.GetDisplayName``1(``0)] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.HashCode.CombineValues``1(System.Collections.Generic.IEnumerable{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.HashCode.CombineValues``1(``0[])] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.HGlobal.Create``1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.HGlobal.Create``1(System.Int32)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.HGlobalScope`1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`2.GetValue``1(System.Func{`0,``0},System.Func{`1,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`3.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`4.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`5.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`6.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`7.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.IOneOf`8.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0},System.Func{`7,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`2.GetValue``1(System.Func{`0,``0},System.Func{`1,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`3.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`4.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`5.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`6.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`7.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.OneOf`8.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0},System.Func{`7,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`2.GetValue``1(System.Func{`0,``0},System.Func{`1,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`3.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`4.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`5.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`6.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`7.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.ValueOneOf`8.GetValue``1(System.Func{`0,``0},System.Func{`1,``0},System.Func{`2,``0},System.Func{`3,``0},System.Func{`4,``0},System.Func{`5,``0},System.Func{`6,``0},System.Func{`7,``0})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Arithmetic] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Collections] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.EmptyIfNull``2(System.Collections.Generic.Dictionary{``0,``1})] Missing <param name="dictionary"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.IsNullOrEmpty``1(System.Collections.Generic.ICollection{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.IsNullOrEmpty``1(``0[])] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.NotNullNorEmpty``1(System.Collections.Generic.ICollection{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.NotNullNorEmpty``1(``0[])] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.CollectionExtensions.NullIfEmpty``2(System.Collections.Generic.Dictionary{``0,``1})] Missing <param name="dictionary"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1,System.Func{System.Collections.Generic.HashSet{``1}})] Missing <param name="createCollection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1,System.Func{System.Collections.Generic.ICollection{``1}})] Missing <param name="createCollection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1,System.Func{System.Collections.Generic.IList{``1}})] Missing <param name="createCollection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1,System.Func{System.Collections.Generic.ISet{``1}})] Missing <param name="createCollection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateCollection``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1,System.Func{System.Collections.Generic.List{``1}})] Missing <param name="createCollection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.HashSet{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateHashSet``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ISet{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.ICollection{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.IList{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1)] Missing <param name="dict"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1)] Missing <param name="key"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryCollectionExtensions.AddOrCreateList``2(System.Collections.Generic.IDictionary{``0,System.Collections.Generic.List{``1}},``0,``1)] Missing <param name="value"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Concurrent.ConcurrentDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Concurrent.ConcurrentDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1},System.Func{``0,``1,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1},System.Func{``0,``1,``1})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,``1})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{``0,``1,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{``0,``1,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.AddOrUpdateAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAddAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.DictionaryExtensions.GetOrAddAsync``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,System.Threading.Tasks.Task{``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.ExceptBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.ExceptBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.ExceptBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.ExceptBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.Flatten``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.GroupTopoSort``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.GroupTopoSort``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.GroupTopoSort``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.GroupTopoSort``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.IntersectBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.IntersectBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.IntersectBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.IntersectBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.Split``1(System.Collections.Generic.IEnumerable{``0},System.Int32)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.TopoSort``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.Union``1(System.Collections.Generic.IEnumerable{``0},``0[])] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.UnionBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.UnionBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.UnionBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.UnionBy``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.EnumerableExtensions.WithIndex``1(System.Collections.Generic.IEnumerable{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.IndexedItem`1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.IntervalTree`2] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.IntervalTree`2] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.IntervalTree`2.#ctor(CodeJam.Ranges.CompositeRange{`0,`1})] Missing <param name="source"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.IntervalTree`2.Intersect(CodeJam.Ranges.Range{`0})] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.IntervalTree`2.Intersect(CodeJam.Ranges.Range{`0})] Missing <param name="intersection"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.KeyEqualityComparer`2] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.KeyEqualityComparer`2] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.LazyDictionary`2] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Collections.LazyDictionary`2] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.QueryableExtensions.OrderBy``1(System.Linq.IQueryable{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.QueryableExtensions.OrderByDescending``1(System.Linq.IQueryable{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.QueryableExtensions.ThenBy``1(System.Linq.IOrderedQueryable{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.QueryableExtensions.ThenByDescending``1(System.Linq.IOrderedQueryable{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.Suffix.op_Implicit(CodeJam.Collections.Suffix)~System.String] Missing <returns> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTree.BuildFor(System.Int32,System.Int32)] Missing <param name="begin"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTree.BuildFor(System.Int32,System.Int32)] Missing <param name="end"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTreeBase.BuildFor(System.Int32,System.Int32)] Missing <param name="begin"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTreeBase.BuildFor(System.Int32,System.Int32)] Missing <param name="end"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTreeBase.StringLocation.#ctor(System.Int32,System.Int32)] Missing <param name="start"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Collections.SuffixTreeBase.StringLocation.#ctor(System.Int32,System.Int32)] Missing <param name="length"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Dates] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Expressions] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Expressions.ExpressionExtensions.Transform``1(``0,System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.IO] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Mapping] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Mapping.ConvertTo`1] Missing <typeparam name="TTo"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Mapping.ConvertTo`1.From``1(``0)] Missing <typeparam name="TFrom"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Mapping.MemberMapper.#ctor(System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.LambdaExpression)] Missing <param name="from"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Mapping.MemberMapper.#ctor(System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.LambdaExpression)] Missing <param name="to"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Metadata] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Ranges] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Reflection] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Constructor``1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Constructor``1(System.Linq.Expressions.Expression{System.Func{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Field``1(System.Linq.Expressions.Expression{System.Func{``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Field``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Field``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Field``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Member``1(System.Linq.Expressions.Expression{System.Func{``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Member``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Member``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Member``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Method``1(System.Linq.Expressions.Expression{System.Action{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Method``1(System.Linq.Expressions.Expression{System.Func{``0}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Method``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Method``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Method``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Property``1(System.Linq.Expressions.Expression{System.Func{``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Property``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Property``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf.Property``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Reflection.InfoOf`1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf`1.Field``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf`1.Member``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf`1.Method``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})] Missing <typeparam name="TResult"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Reflection.InfoOf`1.Property``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Reflection.TypeAccessor`1] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Services] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Strings] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Strings.StringExtensions.Join``1(System.Collections.Generic.IEnumerable{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Strings.StringExtensions.Join``1(System.Collections.Generic.IEnumerable{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Strings.StringExtensions.ToInvariantString``1(``0)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Strings.StringExtensions.ToInvariantString``1(``0,System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.TableData] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Threading] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.AsyncOperationHelper.Send``1(System.ComponentModel.AsyncOperation,System.Func{``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Threading.ConcurrentLazyDictionary`2] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Threading.ConcurrentLazyDictionary`2] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Threading.ExecSyncConcurrentLazyDictionary`2] Missing <typeparam name="TKey"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [T:CodeJam.Threading.ExecSyncConcurrentLazyDictionary`2] Missing <typeparam name="TValue"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.InterlockedOperations.Update``1(``0@,System.Func{``0,``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.InterlockedOperations.Update``1(``0@,``0,System.Func{``0,``0,``0})] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Action{``0},System.String)] Missing <typeparam name="T"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Action{``1},System.String)] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Action{``1},System.String)] Missing <typeparam name="TTarget"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Int32,System.Action{``1},System.String)] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Int32,System.Action{``1},System.String)] Missing <typeparam name="TTarget"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{``0,``1},System.Action{``1},System.String)] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{``0,``1},System.Action{``1},System.String)] Missing <typeparam name="TTarget"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{``0,``1},System.Int32,System.Action{``1},System.String)] Missing <typeparam name="TSource"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [M:CodeJam.Threading.ParallelExtensions.RunInParallel``2(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{``0,``1},System.Int32,System.Action{``1},System.String)] Missing <typeparam name="TTarget"/> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]
Component: [N:CodeJam.Xml] Missing <summary> documentation [c:\projects\codejam\Help\Working\BuildTopics.proj] [c:\projects\codejam\CodeJamDoc.shfbproj]

Sequence.CreateSingle optimization

Profiling shows that array is much faster than yield return.

using System.Collections.Generic;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

namespace NS
{
    public class X
    {
        public IEnumerable<int> E() { yield return 1; }

        [Benchmark]
        public int EE()
        {
            int r = 0;
            foreach (var a in E()) r += a;
            return r;
        }

        public IEnumerable<int> A() { return new[] {1}; }

        [Benchmark]
        public int AA()
        {
            int r=0;
            foreach (var a in A()) r += a;
            return r;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var summary = BenchmarkRunner.Run(typeof(Program).Assembly);
        }
    }
}

.NET Core

BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-8565U CPU 1.80GHz (Whiskey Lake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=3.1.200
  [Host]     : .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT
  DefaultJob : .NET Core 3.1.2 (CoreCLR 4.700.20.6602, CoreFX 4.700.20.6702), X64 RyuJIT

| Method |     Mean |    Error |   StdDev |
|------- |---------:|---------:|---------:|
|     EE | 26.12 ns | 0.539 ns | 0.854 ns |
|     AA | 19.31 ns | 0.415 ns | 0.478 ns |

.NET Framework

BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-8565U CPU 1.80GHz (Whiskey Lake), 1 CPU, 8 logical and 4 physical cores
  [Host]     : .NET Framework 4.8 (4.8.4150.0), X64 RyuJIT
  DefaultJob : .NET Framework 4.8 (4.8.4150.0), X64 RyuJIT


| Method |     Mean |    Error |   StdDev |
|------- |---------:|---------:|---------:|
|     EE | 19.30 ns | 0.165 ns | 0.146 ns |
|     AA | 21.50 ns | 0.406 ns | 0.317 ns |

Is your feature request related to a problem? Please describe.
Replace implementation with array with single element.

Fix deprecated licenseUrl

C:\Program Files\dotnet\sdk\2.1.500\Sdks\NuGet.Build.Tasks.Pack\buildCrossTargeting\NuGet.Build.Tasks.Pack.targets(202,5): warning NU5125: The 'licenseUrl' element will be deprecated. Consider using the 'licens
e' element instead. [CodeJam\Main\src\CodeJam.Main.csproj]

See: https://github.com/NuGet/Home/wiki/Packaging-License-within-the-nupkg#project-properties

  • License URL will be removed from project properties and PackageLicenseUrl will be removed from the project file.

  • Project properties will have License type (free text field that can take an SPDX expression) and License file (free text field that can take a path to the license file on disk relative to the project file)
    Apache-2.0

  • License file

    <PropertyGroup>
        <PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
    </PropertyGroup>

    <ItemGroup>
        <None Include="licenses\LICENSE.txt" Pack="true" PackagePath="$(PackageLicenseFile)"/>
    </ItemGroup>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.