私は最近、stackoverflow で大きな助けを得ました。回答の 1 つにやや戸惑いましたが、コメント ボックスの制限により、説明を得るのが適切ではないと感じました。
以下のコードを確認してください。
if ((File.GetAttributes(fileName) & FileAttributes.Archive) == FileAttributes.Archive)
{
// Archive file.
}
私の質問は、& (太字を参照)
(File.GetAttributes(fileName) & FileAttributes.Archive ) == などの後にロジックを含める理由です。
確かに FileAttributes.Archive == FileAttributes.Archive は常に一致しますか?
これについて説明がある人はいますか(IMOはおそらくタイプミス/間違いですが、後で修正するにはあまりにも多くのことを想定していました!)
~
2 番目の質問は、このコードでチルダが何をするかです。
File.SetAttributes(fileName, File.GetAttributes(fileName) & ~FileAttributes.Archive);