C#을 처음 사용하는 이유는 파일이 읽기 전용인지 아닌지를 아래 코드가 어떻게 판별하는지 이해할 수 없습니다. 특히, (& FileAttributes.ReadOnly 속성은) FileAttributes.ReadOnly를 평가하거나 평가하지 않는 무언가를 어떻게 평가합니까?FileAttributes 열거 형 검사
나는 &이 bitwise 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");
}
}
}
}
처럼 보인다 (http://msdn.microsoft.com/en-us/library/system.enum.hasflag. aspx) 방법. 나는 내부적으로 같은 일을 할 것이라고 확신하지만 비트 연산보다 더 명확하다고 생각한다. – cadrell0
@ cadrell0 알림을 보내 주셔서 감사합니다. 답변이 업데이트되었습니다 :) – Steve