Добавление актуального ответа,
using (var source = File.OpenRead(inPath))
{
using (var dest = File.Create(outPath))
{
source.CopyTo(dest);
}
}
при желании можно указать размер буфера
using (var source = File.OpenRead(inPath))
{
using (var dest = File.Create(outPath))
{
source.CopyTo(dest, 2048); // or something bigger.
}
}
или вы можете выполнить операцию в другом потоке,
using (var source = File.OpenRead(inPath))
{
using (var dest = File.Create(outPath))
{
await source.CopyToAsync(dest);
}
}
, что было бы полезно, когда основной поток должен выполнять другую работу, например, в приложениях WPF и Магазина Windows.