C#的新手和我真的不知道下面的代碼是如何確定文件是否是隻讀的。特別是,(屬性&FileAttributes.ReadOnly)如何評估某些不存在或不存在== FileAttributes.ReadOnly。檢查FileAttributes枚舉
我猜&正在做某種按位AND?我只是不遵循這個如何工作。任何人都可以提供解釋嗎?
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
FileAttributes attributes = File.GetAttributes("c:/Temp/testfile.txt");
if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
Console.WriteLine("read-only file");
}
else
{
Console.WriteLine("not read-only file");
}
}
}
}
不要忘了[HasFlag(http://msdn.microsoft.com/en-us/library/system.enum.hasflag。 aspx)方法。我確定它在內部也做同樣的事情,但我認爲它比按位操作更清晰。 – cadrell0
@ cadrell0感謝提醒,回覆更新:) – Steve