Skip to content

Instantly share code, notes, and snippets.

View KirillOsenkov's full-sized avatar

Kirill Osenkov KirillOsenkov

View GitHub Profile
public static class Extensions
{
public static void DiffSortedSequences<T>(
this IReadOnlyList<T> left,
IReadOnlyList<T> right,
IComparer<T> comparer,
Action<T> added = null,
Action<T> removed = null,
Action<T> same = null)
{
using System;
using System.Runtime.InteropServices;
static class PdbGuidAndAgeExtractor
{
public static string GetGuidAndAge(string pdbFile)
{
var dataSource = (IDiaDataSource) Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("83AB22C8-993A-4D14-A0E0-37BC0AAEA793")));
dataSource.loadDataFromPdb(pdbFile);
using System;
public partial class Program
{
static void Main(string[] args)
{
Console.WriteLine();
_ = ThisAssembly.Info.InformationalVersion;
}
}
bool CanConvertToHex(object value)
{
return value switch
{
byte or sbyte or ushort or short or uint or int or ulong or long or IntPtr or UIntPtr => true,
_ => false
};
}
<PropertyGroup Label="Output directory">
<BinariesFolder>$(SrcRoot)bin</BinariesFolder>
<CommonIntermediateOutputRoot>$(SrcRoot)obj\</CommonIntermediateOutputRoot>
<BaseIntermediateOutputPath>$(CommonIntermediateOutputRoot)$(Configuration)\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)</IntermediateOutputPath>
<AssemblyInfoPath Condition="'$(AssemblyInfoPath)' == ''">$(BaseIntermediateOutputPath)GlobalAssemblyInfo.cs</AssemblyInfoPath>
<CommonOutputDirectory>$(BinariesFolder)\$(Configuration)</CommonOutputDirectory>
<BuildToCommonOutputDirectory Condition="'$(BuildToCommonOutputDirectory)' == ''">true</BuildToCommonOutputDirectory>
<OutputPath Condition="'$(OutputPath)' == ''">$(BinariesFolder)\$(Configuration)\$(MSBuildProjectName)</OutputPath>
<OutputPath Condition="'$(BuildToCommonOutputDirectory)' == 'true'">$(CommonOutputDirectory)\</OutputPath>
using System;
public partial class Program
{
private readonly string _foo;
static void Main(string[] args)
{
Console.WriteLine();
_ = ThisAssembly.Info.InformationalVersion;
class C
{
static void M(string a, string b, string c)
{
M("مرحبا بالعالم",
$"مرحبا بالعالم: {-1}",
"OK");
}
}
/// <summary>
/// A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons.
/// Taken from https://gist.github.com/StephenCleary/4f6568e5ab5bee7845943fdaef8426d2
/// </summary>
public struct FnvHash
{
/// <summary>
/// The starting point of the FNV hash.
/// </summary>
public const ulong Offset = 14695981039346656037;
// Variable definition
$base-color: #c6538c;
// Variable definition and reference
$border-dark: rgba($base-color, 0.88);
.alert {
// Variable reference
border: 1px solid $border-dark;
}
/// <summary>
/// Export a <see cref="IClassifierProvider"/>
/// </summary>
[Export(typeof(IClassifierProvider))]
[ContentType("code")]
internal class VideoCommentClassifierProvider : IClassifierProvider
{
[Export(typeof(ClassificationTypeDefinition))]
[Name("video comment")]
internal ClassificationTypeDefinition VideoCommentClassificationType = null;