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