You can use the Automation Wrapper with C#. It's fairly quick and easy to get an OPC client put together that way.
If you are creating a more 'industrial strenght' application, you might consider using the native .NET wrapper from the OPC Foundation. You do have to be a Foundation member to access that code.
For the easiest and most reliable OPC connections in C# 2005 applications I suggest our OPC Controls.NET product. The central data communications runs as a Windows Service and the components for your application are all 100% managed. You cannot achieve 100% managed application with direct OPC connections.
Visit www.opcsystems.com for more information.
Ken Eldridge, Open Automation Software