Skip to content

Instantly share code, notes, and snippets.

View dadhi's full-sized avatar
🎯
Focusing

Maksim Volkau dadhi

🎯
Focusing
View GitHub Profile
@dadhi
dadhi / RenameCSharpProject.ps1
Last active July 27, 2023 19:50
PowerShell script to rename C# Project.
<#
PowerShell script to rename C# Project step-by-step:
* Copying project folder to folder with new project name
* Renaming .csproj file and other files with project name
* Changing project name reference in .sln solution file
* Changing RootNamespace and AssemblyName in .csproj file
* Renaming project inside AssemblyInfo.cs
#>
param(
[parameter(
@dadhi
dadhi / InsertTabsOrSpaces-vc2010macro.vb
Last active October 26, 2017 09:19
Visual Studio 2010 macros to set "Insert spaces" or "Keep tabs" in Tools -> Options -> Text Editor -> C# -> Tabs page. Thanks to answer http://stackoverflow.com/a/1721896/2492669. For those who switching between solutions with spaces and tabs. As for me, I have assigned macros on ctrl+shift+alt+s and ctrl+shift+alt+t and quite happy now.
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
@dadhi
dadhi / FizzBuzz..OptionFold.fs
Created June 25, 2013 07:04
FizzBuzz on F# as generic solution.
let rules = [(3, "Fizz"); (5, "Buzz")]
let translate x =
None |> List.foldBack (fun (i, word) say ->
if x % i = 0 then Some <| Option.fold (+) word say
else say) rules
for n in 1..100 do
printfn "%s" <| match translate n with | Some s -> s | _ -> string n
@dadhi
dadhi / FizzBuzz.LINQ.cs
Created June 25, 2013 07:01
FizzBuzz on C# as generic solution using LINQ.
[Test]
public void FizzBuzz()
{
var rules = new Dictionary<int, string> { { 3, "Fizz" }, { 5, "Buzz" } };
Func<int, string> translate = i =>
rules.Aggregate((string)null, (s, x) => i % x.Key == 0 ? (s == null ? x.Value : s + x.Value) : s)
?? i.ToString();
var words = Enumerable.Range(9, 7).Select(translate).ToArray();
CollectionAssert.AreEqual(new[] { "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz" }, words);