Если вы ожидаете, что кто-то другой запишет в файл, вы можете использовать System.IO.FileSystemWatcher
и искать события изменения. В противном случае вы всегда можете использовать FileStream.BeginRead
и FileStream.BeginWrite
для асинхронного ввода-вывода. Ни один из них не очень похож на select()
с точки зрения интерфейса, но они могут достичь желаемого результата быстрого асинхронного ввода-вывода.