Skip to content

Instantly share code, notes, and snippets.

@LoriBru
LoriBru / MainVM.cs
Created January 14, 2019 10:44
Clone a directory with all its files.
public static void CloneDirectory(string root, string dest)
{
foreach (var directory in Directory.GetDirectories(root))
{
var dirName = Path.GetFileName(directory);
if (!Directory.Exists(Path.Combine(dest, dirName)))
{
Directory.CreateDirectory(Path.Combine(dest, dirName));
}
CloneDirectory(directory, Path.Combine(dest, dirName));
@LoriBru
LoriBru / MainVm.cs
Created January 9, 2019 15:46
Copy all files from a directory to another.
var root = new DirectoryInfo(rootPath);
foreach (var file in root.GetFiles())
{
File.Copy(file.FullName, "DestinationFolder\" + file.Name, true);
}
@LoriBru
LoriBru / MainVM.cs
Created January 9, 2019 15:45
Run a method within a task.
var task = Task.Run(() => LongMethodAsync());
@LoriBru
LoriBru / MainVM.cs
Created January 9, 2019 15:38
Get a file from the project resources.
using (Stream stream = this.GetType().Assembly.GetManifestResourceStream("App.Resources." + "File.ext"))
{
if (stream == null)
{
throw new ArgumentException("No such resource", "File.ext");
}
using (Stream output = File.OpenWrite(currentAnalysisPath + $@"\Resources\File.ext"))
{
stream.CopyTo(output);
}
@LoriBru
LoriBru / MainVM.cs
Last active January 9, 2019 15:41
Change thread invariant culture to mantain a common separator for decimal numbers.
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
var ci = (CultureInfo)CultureInfo.CurrentCulture.Clone();
ci.NumberFormat.NumberDecimalSeparator = ".";